深入理解String的关键点和方法(2)

char c = (char) -3; // char不能识别负数,必须强制转换否则报错,即使强制转换之后,也无法识别 System.out.println(c); byte d1 = 1; byte d2 = -1; byte d3 = 127; // 如果是byte d3 = 128;会报错 byte d4 = -128; // 如果是byte d4 = -129;会报错 System.out.println(d1); System.out.println(d2); System.out.println(d3); System.out.println(d4);

      char可以表中文字符,byte不可以 。但我试图去打印byte表示的汉字得到的是 ASCII码,当我试图转化为char时发现并没有的到中

byte c1 = (byte)'中'; System.out.println(c1);//45 System.out.println((char)c1);//-

         char、byte、int对于英文字符,可以相互转化

byte c1 = (byte)'c'; System.out.println((char)c1);//c System.out.println(c1);//99

  4:byte[] 和char的相互转化 : 参考 “Java 中byte 与 char 的相互转换” 。因为char直接强转 byte 失败 (byte一位而char是两位),所以char --byte[]--char是可以的

class Test{ public static byte[] charToByte(char c) { byte[] b = new byte[2]; b[0] = (byte) ((c & 0xFF00) >> 8);//高位 b[1] = (byte) (c & 0xFF); return b; } public static char byteToChar(byte[] b) { char c = (char) (((b[0] & 0xFF) << 8) | (b[1] & 0xFF)); return c; } public static void main(String[] args) { char c = '中'; System.out.println(Test.byteToChar(Test.charToByte(c))); } }

参考 : “& 0xFF 与 & 0xFF00 的作用 ”

七:String  在Json中的用法

  Json中经常用到字符串转为json对象或者是转为json数组,一定注意这里说的是 在java后台用到json的时候的做法。与javaScript半毛钱没关系

   json工具库万千,转化的方法也不同。在这里,我不一一列举,我用的是net.sf.json

八:常用的拼接字符串方式

   + : String s1 = "ad"+"bc';

     Stringbuilder    stringbuilder.append("asda");

九:String常用方法

   toLowerCase() 转换为小写

   valueOf() 转换为字符串

   trim() 去掉起始和结尾的空格

   substring() 截取字符串

   indexOf() 查找字符或者子串第一次出现的地方

   toCharArray()

   getBytes()

     charAt() 截取一个字符 

   length() 字符串的长度

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/5aafc684c0323eb77480c2219d633424.html