一、String类型:
1.String类型定义:
Java中数据类型分为基本数据类型和引用数据类型两大类,而String类型就属于引用数据类型,但是String类型并不是字符串,而是Java的一个类,Java通过String类型来操作字符串
String类是最终类用final修饰,不能被其他类继承
2.字符串特性:
字符串是操作系统上提供的一种可用于操作和表达多个字符类型组合的一种结构
a.面值内容不可以发生改变
b.同样的元素在内存中不会出现第二次
//equals默认比较值,==默认比较地址
String s = "a";
String s1 = new String("a");
System.out.println(s.equals(s1));//比的是值 s和s1值相同
System.out.println(s == s1);//比的是地址 s和s1地址不同
在别的类中我们也可以使用equals方法这是为什么呢?
因为在所有类的根类Object中含有equals方法所有类都会继承根类,在String中的equals方法是重写了父类Object的equals方法
二、String,StringBuffer,StringBuilder:
1.String,StringBuffer,StringBuilder的区别:
String | StringBuffer | StringBuilder |
多线程安全 | 单线程不安全 | |
不可变,每次做操作的时候都会在常量池里生成新的字符串 | 可变,操作的速度快,当缓存容量不够时会自动扩容 | 可变速度比StringBuffer更快 |
String 类型应用中一般很少去改变其内部的内容,如果需要改变则需要替换成StringBuffer或StringBuilder
2.String,StringBuffer,StringBuilder的方法:
我们可以在API帮助文档中查看这三种类的方法,但是差别并不大
1.char charAt(int index) 返回指定索引的 char价值。
2.int codePointAt(int index) 返回指定位置上元素的unicode码值3.String replace(CharSequence target, CharSequence replacement) : 字符串内容一旦发生变化则会产生新的字符串
4.int indexOf(int ch) 返回第一次出现目标值的索引值
5.boolean endsWith(String suffix) : 判断是否以xxxx结尾
由于方法太多我在这里就不再一一列举,我们可以查看API帮助手册来进行查看
API帮助手册:JDK里所有的工具类的方法和特性的介绍文档
本人会定期发表关于Java的相关知识,如果有错误请指出,觉得好请点赞,收藏加关注,谢谢!!