Object与String中常用方法
Object类
1、toString:在子类中重现toString方法,可以在打印输出信息或拼接字符串是自动是用子类中的toString方法。
2、hashCode:快速定位对象在内存中的位置,方便查找对象。在内存中不同的对象可能会有相同的hashCode。
3、equals:表示比较对象是否相同(一般是比较对象的内容是否相同)
String 字符串
String str1 = "hello";
String str2 = new String("hello");
System.out.println(str1.equals(str2));
System.out.println(str1 == str2);
/*
结果为
true
false
*/
字符串比较 应使用 .equals方法。
注:String类 时final的(不能被继承)且组成String 的char类型的数组也是final的(值不可变) 故String类 对象的值不能改变,只能指向一个新地址。
为了让字符串在内存中的性能更高,内存占用更少-> 使用常量池概念,既字符串直接进赋值是直接引用了常量池中的字符串地址。
String中常用方法
length(); //字符串长度
isEmpty(); //判断字符串是否为空
charAt("int"); //得到某个序号位置的字符
getByte(); //得到当前字符串转换成的字节数组
equals("str"); //判断当前字符串与其他字符串(值)是否相同
compareTo("str"); //比较两字符串大小
startWith("str"); //判断当前字符串是否以某字符串开头
endWith("str"); //......结尾
indexOf("str"); //判断当前字符串时候包含“str” 若包含 返回str开始位置,否则返回-1
lastIndexOf("str"); //......从尾部开始查找
subString("str"); //从某位置开始截取字符串
replaceAll("str1","str2"); //将字符串中所有str1 替换为 str2
split("str"); //将字符串以 str 切割成字符串数组
trim(); //去掉字符串两边的空格
intern(); //得到当前字符串对应常量池中的内容