【无标题】

Java——String类
1.认识String类
C语言表示字符串,只能使用字符数组和字符指针,可以使用标准库提供的字符串系列函数完成大部分操作,但这种将数据和操作数据方法分离开的方式不符合面向对象的思想,而字符串又应用广泛,因此Java语言专门提供了String类。
2.String类的基本用法
2.1 字符串构造方法
方式一:直接赋值
String str = “hello world”;
方式二:通过构造方法产生对象
String str2 = new String(“hello world”);
方式三:通过字符数组产生对象
char[] array={‘h’,‘e’,‘l’,‘l’,‘o’,‘w’,‘o’,‘r’,‘l’,‘d’};
String str = new String(array);
方式四:通过String的静态方法valueOf(任意数据类型转化为字符串)
String str = String valueOf(10);
【注】:1.String是引用类型,内部并不存储字符串本身,在String类的实现码源中,String类实例变量如下:
在这里插入图片描述
2.在Java中""引起来的也是String类型的对象
//打印"hello"字符串(String对象)的长度
String s1 = new String(“hello”);
System.out.println(s1.length());
System.out.println(“hello”.length());
2.2 String对象的比较
字符串的比较是常见操作之一,比如:字符串排序。Java中总共提供了四种方式:
2.2.1 ==比较是否引用同一个对象

【注】:对于内置类型,==比较的是变量中的值;对于引用类型==比较的是引用中地址。     

2.2.2 boolean equals(Object anObject)方法:按照字典序比较
字典序:字符大小的顺序
String类重写了父类Object中的equals方法,Object中equals默写按照==比较,String重写equals方法后,按照如下规则进行比较,比如:s1.equals(s2)
2.2.3 int compareTo(String s)方法:按照字典序进行比较
与equals不同的是,equals返回的是boolean类型,而compareTo返回的是int类型。具体表示方式为:
(1)先按照字典次序比较,如果出现不等的字符,直接返回这两个字符的大小差值
(2)如果前k个字符相等(k为两个字符长度最小值),返回两个字符串长度差值
2.2.4 int compareTolgnoreCase(String str)方法:与compareTo方式相同,但是忽略大小写比较
2.3字符串查找
在这里插入图片描述
2.4字符串的不可变性
所谓的字符串不可变指的是字符串对象的内容必能变,而不是字符串引用不能变。
2.5.如何修改字符串中的内容
尽量避免直接对String类型对象进行修改,因为String类不能修改,所有的修改都会创建新对象,效率非常低。如果要修改建议使用StringBuffer和StringBuilder
2.6StringBuffer和StringBuilder
String和StringBuilder类不能直接转化,如果想要转化可以采用如下原则:
(1)String变为StringBuilder:利用StringBuilder的构造方法或append()方法;
(2)StringBuilder变为String:调用同toString()方法;
【注】:String、StringBuffer和StringBuilder
(1)String的内容不可修改,StringBuffer和StringBuilder的内容可以修改;
(2)StringBuffer与StringBuilder大部分功能是相似的,StringBuffer采用同步处理,属于线程安全操作,而StringBuilder未采用同步处理,属于线程不安全操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值