package LHB.day2; public class TestString { public static void main(String[] args) { //String 类用法 // new String() 为类的构造方法 String str = new String("123");//创建String对象并赋值 // 123为常量,也可放入byte[]数组,默认字符编码编译数组内内容 //返回值类型String byte[] bytes = {66,67,68,69,70}; str = new String(bytes);// BCDEF 结果为char类型对应数值 //(byte[],添加其他字符编码) 结果为其他编码对应的值 例:(byte[],GBK ) GBK:字符编码的一种 //返回值类型String str=new String(bytes,2,3);//DEF 复制传入数组从索引2开始往后复制3个 //注意复制的长度 超过数组长度会报 索引边界异常:StringIndexOutOfBoundsException //(bytes,2,3,添加其他字符编码) 结果为其他编码对应的值 //返回值类型String char[] chars={'h','e','l','l','o'};//char类型数组 str=new String(chars);//hello 会将char数组内容转化成String并拼接; 返回值类型String //返回值类型String str=new String(chars,2,2);//ll 复制传入数组从索引2开始往后复制2个 //注意复制的长度 超过数组长度会报 索引边界异常:StringIndexOutOfBoundsException //返回值类型String //@以上为String构造方法的使用 还有一部分没有写道 //------------------------------------------我是分割线--------------------------------------------- //String方法 //String类型.方法名(); String str1="Hello"; //hello char s=str1.charAt(2);//l 会先将hello转换为char数组:{'h','e','l','l','o'} 再获得索引为2的值 //注意超过数组长度会报 索引边界异常:StringIndexOutOfBoundsException //返回值类型 char; int i=str1.codePointAt(3);//108 会先获得索引为3的l,然后返回l在默认编码集中的值; 默认编码集:Unicode; //注意超过数组长度会报 索引边界异常:StringIndexOutOfBoundsException //返回值类型 int; i=str1.codePointBefore(2);//104 会先获得索引为(2-1)的e,然后获取e在默认编码集中的值; //注意超过数组长度会报 索引边界异常:StringIndexOutOfBoundsException //返回值类型 int String hw=str1.concat("World");//HelloWorld 往str1后面拼接一个字符串(不常用) 常用+进行拼接 (str1+“World”) //返回值类型 String boolean b=str1.equals(hw); //false 假 比较两个对象的地址和哈希值(@常用@) //返回值类型 boolean //6.25 } }