Loading

String

 

String 字符串常量,StringBuffer 字符串变量 ,StringBuilder 字符串变量

String为什么是不可变的?

     1.Sring类在定义时候声明为final类型。

       2.String类全局变量都定义为private final类型,表明对象一旦初始化,属性值就无法改变。

String设计成不可变有什么好处?

     1.线程安全

     2.符合字符串常量池的设计

     3.确保hashCode的唯一性。hashMap是基于Hashing原理,由数组,链表,红黑树组成。hashMap是以key的hashcode为存储地址,地址不变好,不然如何查找可变的地址。不可变String对象的hashcode是唯一的,所以适用hashmap中的key。

String类的常用方法:

    1.获取字符串的长度  int length()

String s1="core Java";
System.out.println(s1.length()); //获取字符串的长度

    2 截取一个字符  char charAt()

String s1="core Java";
System.out.println(s1.charAt(1));

    3.查找一个指定的字符串是否存在,返回的是字符串的位置,如果不存在,则返回-1

String s1="core Java";
int index = s1.indexOf("J");
System.out.println(index);

4.将字符串里面的小写字母变成大写字母
String s1="core Java";
String s3 = s1.toUpperCase();
System.out.println(s3);
5.将字符串里面的大写字母变成小写字母
String s1="core Java";

String s4 = s1.toLowerCase();
System.out.println(s4);
6.去掉字符串左右空格
String s1=" core Java ";
String trim = s1.trim();
System.out.println(trim);
7.新字符替换旧字符
String str = "hello,world,你,好";
String replace = str.replace(",","-");
System.out.println(replace);

8.截取字符串
String str = "hello,world,你,好"; // 截取0-4位置的字符串,包括0,不包括4
String substring = str.substring(0, 4);
System.out.println(substring);

9.忽略大小写的比较两个字符串的值是否一模一样,返回布尔值。
System.out.println(s1.equalsIgnoreCase(s2));//比较两个字符串(忽略大小写)

 

posted @ 2022-03-13 15:06  远乡人  阅读(262)  评论(0编辑  收藏  举报