zoukankan      html  css  js  c++  java
  • string

    JAVA里面关于byte数组和String之间的转换问题
      引自:http://soniccyj.bokee.com/6175850.html
      JAVA里面关于byte数组和String之间的转换问题
      把byte转化成string,必须经过编码。
      例如下面一个例子:
      import java.io.UnsupportedEncodingException;
      public class test{
      public static void main(String g[]) {
      String s = "12345abcd";
      byte b[] = s.getBytes();
      String t = b.toString();
      System.out.println(t);
      }
      }
      输出字符串的结果和字符串s不一样了.
      经过以下方式转码就可以正确转换了:
      public class test{
      public static void main(String g[]) {
      String s = "12345abcd";
      byte b[] = s.getBytes();
      try {
      String t = new String(b);
      System.out.print(t);
      } catch (Exception e) {
      e.printStackTrace();
      }
      }
      }
      引自:http://topic.csdn.net/t/20050404/10/3906398.html
      String str = "String";
      byte[] byte1 = str.getBytes();
      String str1 = new String(byte1);
      byte[] byte2 = str1.getBytes();
      String str2 = new String(byte2);
      System.out.println("str<<<" + str);
      System.out.println("byte1<<<" + byte1);
      System.out.println("str1<<<" + str1);
      System.out.println("byte2<<<" + byte2);
      System.out.println("str2<<<" + str2);
      -------------------------------------
      输出结果
      str<<<String
      byte1<<<[B@192d342
      str1<<<String
      byte2<<<[B@6b97fd
      str2<<<String
      想请教为什么两个byte输出的不一样呢?
      String str = "String";
      byte[] byte1 = str.getBytes();
      String str1 = new String(byte1);
      byte[] byte2 = str1.getBytes();
      ----------
      注意byte1是str得到的byte数组,而byte2是另一个字符串str1得到的数组
      他们本身也是两个对象
      直接打印实际上调用的是toString()方法,而toString()的默认实现是打印对象类型+hashCode()
      [B表示byte数组
      @表示之后的是地址
      后面跟着的是hashCode,其实就是其虚拟机地址
      所以这个结果也就是顺理成章了.

  • 相关阅读:
    Hbase集群部署及shell操作
    sqoop部署与使用
    azkaban部署
    Hive入门操作
    Hive部署
    MapReduce过程详解(基于hadoop2.x架构)
    MapReduce编程中常用的字符操作
    【图文详解】深入HDFS原理
    vue项目跨域问题的解决:vue-cli 开启代理
    beego框架入门(2)
  • 原文地址:https://www.cnblogs.com/alibabaidu/p/3255230.html
Copyright © 2011-2022 走看看