相同点: 都用来代表字符串,底层都是通过char数组实现的。
不同点:
获取字符串长度
int length();
获取指定位置上某个字符
char charAt(int index);
获取指定字符在字符串中位置
int indexOf(int ch);//返回的是ch在字符串中第一次出现的位置
int indexOf(int ch, int fromIndex);//从fromIndex指定位置开始,获取ch在字符串中出现的位置
int indexOf(String str);//返回的是str在字符串中第一次出现的位置
int indexOf(String str, int fromIndex);//从fromIndex指定位置开始,获取str在字符串中出现的位置
int lastIndexOf(int ch);//返回的是str在字符串中最后一次出现的位置
判断字符串中是否包含某一个子串
boolean contains(String str);
判断字符串是否是以指定内容开头
boolean startsWith(str);
boolean endsWith(str);
boolean equals(str);
boolean equalsIgnoreCase();
构造函数:
String(char[])
String(char[],offset,count);//将字符数组中的一部分转成字符串
静态方法:
static String copyValueOf(char[]);
static String copyValueOf(char[] data, int offset, int count)
static String valueOf(char[]):
char[] toCharArray();
static String valueOf(int)
static String valueOf(double)
String str = 123 + "";
String replace(oldchar,newchar);//返回替换后的字符串
String[] split(regex);//返回一个string数组
String substring(begin);//包含起点到结尾
String substring(begin,end);//从起点到end(不包括end下标)
1
String toUpperCase();//大写
String toLowerCase();//小写
String trim();
final关键字可以修饰类,变量,方法
final用来修饰一个类,意味着该类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可以根据需要设为final。
当一个类被final修饰时,表明该类中所有的成员方法都会被隐式的指定为final方法。
使用final修饰的方法为最终方法,不能再被子类重写,可以重载。
static修饰类中属性,称之为类的静态属性/类属性(存储在JVM的方法区),和具体的对象无关。
使用:直接使用类名来访问静态变量,不推荐使用某个对象访问
static修饰方法,称之为类方法/静态方法,只能使用类中的静态属性以及静态方法。
使用:与具体对象无关,直接通过类名称来访问。
注意:
- 静态方法只能访问类中的静态属性,不能直接访问成员属性(需要通过对象来调用)。
- 静态方法只能访问类中的其他静态方法,不能直接访问成员方法。
- 访问其他类的静态方法必须加上类名称来访问,不然编译器只会在当前类中查找同名静态方法。
普通类不允许static修饰,只有内部类可以被static修饰的内部类可以直接作为一个普通类来使用,而不需要实例一个外部类。
"==":该运算符不仅可以比较基本数据类型,还可以比较引用类型
如果"=="比较基本数据类型,此时判断他们的值是否相等
如果"=="比较引用类型,判断两个对象指向的内存地址是否相同
"equals":是object 类中的方法,所有继承自object的类都有equals方法,他只能判断引用类型
在object中默认判断地址是否相同,等价于"=="比较两个对象,如果在子类中重写了equals方法,此时也可以判断内容是否相同。
相同点:ArrayList与LinkedList都是List的实现类
不同点: