java之String类

1.java程序中所有字符的字面值都作为string 类的实例实现。,字符串本质是一个字符的数组。

1 //演示字符串  具备final属性,一次赋值,终生不变
2 String str  = "oracle";//此时str被定义为变量,“oracle”创建一个字符串对象
,并匹配一个地址

3 str = "甲骨文"; //重新分配一个地址

链接:https://blog.csdn.net/weixin_38750084/article/details/82928911

2.equals说明使用双引号和new方式的区别

1 String s3 = "abc";   //创建1个字符串对象,分配1个地址;
2 String s4 = new String("abc");//如果常量池中已经有“abc”这个字符串对象,就不需要再创建,直接将地址分配给new的对象。
3 System.out.println(s3==s4);//false
4 System.out.println(s3.equals(s4));//true,
5 //因为String重写了equals方法,建立了字符串自己的判断相同的依据(通过字符串对象中的字符来判断)

3.构造方法:

3.1将字节数组转为字符串

1     byte[] bytes={66,67,68,69};
2     //字节(0-127)转字符串  ASCII码表
3     String s11=new String(bytes);//组成新的数组
4     System.out.println(s11);
5     //字节(-128--1)转字符串,中文码表gbk,,一个汉字两个字节,必须成对出现
6     byte[] bytes1={-66,-67,-68,-69};

3.2截取规定长度的字节长度转为字符串

1 //字节(0-127)转字符串  ASCII码表
2     String s1=new String(bytes1,2,2);//从bytes1的数组的下表为2的截取长度为2

3.3将字符转为字符串

char[] c={'a','4','e','中'};
    //字符数组转字符串,直接将字符数组作为实参传到创建的对象中
    String s=new String(c);
    System.out.println("---"+s);

3.3截取规定长度的字符,转为字符串

1 char[] c={'a','4','e','中'};
2     //字符数组转字符串,直接将字符数组作为实参传到创建的对象中
3     String s=new String(c,2,2);
4     System.out.println("---"+s);

4.String类的方法

4.1length():

1     //获取字符串长度   字符的个数,一个汉字,一个标点,一个字母,表示一个字符
2     System.out.println(s.length());//或直接写“java”.length()

4.2截取字符串

1 //截取字符串
2     System.out.println(s.substring(2));//从下标2开始,截取到最后
3     System.out.println(s.substring(2,4));//从下标2开始,到下标4,包头不包尾

4.3判断是否以指定字符串开始、结尾或者包含

1 //判断是否以该字符串开头
2     System.out.println(s.startsWith("a"));//内容必须是字符串类型
3     //判断是否以该字符串结尾
4     System.out.println(s.endsWith("a"));
5     //判断是否包含该字符串
6     System.out.println(s.contains("5"));

4.4查找指定字符串出现的下标(第一次);

1 //查找字符串的第一次de下标值,若此中不包含,则返回-1
2     System.out.println(s.indexOf("中"));

4.5将字符串转为字节最终得到一个字节数组

1     //字符串转字节,通过byte类型的变量去接,以便打印
2     byte[] bytes2=s.getBytes();
3     for(int i=0;i<bytes2.length;i++){
4         System.out.print(bytes2[i]+",");//显示字节(-128-127的范围)
5     }

4.6将字符串转为字符

1 char[] c1=s.toCharArray();
2     for(int i=0;i<c1.length;i++){
3         System.out.print(c1[i]+"   ");//显示字符
4     }

4.7判断是否与指定的字符串相同

1 //判断两个字符串是否相同
2     String s2="123A";
3     System.out.println(s2.equals("123a"));//区分大小写
4     System.out.println(s2.equalsIgnoreCase("123a"));//不区分大小写

4.8   获取字符串内容   ArrayList<>,String,System.out.println(),stringbuffer,stringbuilder,都已对tostring()方法重写,所以以下两种方式均可

1  //获取字符串内容
2     String str = new String("hello");
3     System.out.println(str.toString());
4     System.out.println(str);//系统默认对tostring重写

猜你喜欢

转载自www.cnblogs.com/mlf19920916/p/12093941.html