黑马程序员技术交流社区
标题:
String类的方法和案例
[打印本页]
作者:
悠悠鹿鸣
时间:
2019-8-20 21:54
标题:
String类的方法和案例
String类的方法和案例
1. String字符串,在Java中所有被""包裹的内容,都是字符串。
String字符串的特点:
一.字符串内容不可变,一旦创建后内容不能被修改。
二.字符串可以共享,可以被多个引用同时使用。
三.字符串底层是字符数组(JDK8及以前)/字节数组(JDK9及以后)。
2. String的构造方法
四种构造方法:
一.空参构造。
二.传char[]构造。
三.传byte[]构造。
四.直接赋值(没有通过new创建对象)。
补充:在输出字符串对象的时候,并不会输出其地址值,而是输出其内容。
每创建一次对象,都会在堆内存中开辟新的内存空间。
所以,每new一次,都是不同的对象,地址值也不一样。
通过第四种方式创建的String对象,会放在常量池中:
第一次创建某个字符串的时候,先查询常量池中是否已经有了该字符串,如果没有会创建以后放在常量池中并且把地址值赋值给引用;后续再次创建,如果在常量池中发现需要的字符串,就不创建,直接使用(出现多个引用指向同一个对象的情况)。
String s1 = "abc";
String s2 = "abc";
s1 = "abcd";
4. String类的方法
对于基本数据类型来说,使用==比较的时候,比较的是两个的数据值.
对于引用数据类型来说,使用==比较的时候,比较的是两个对象的地址值.
字符串比较内容是否相同:
使用
equals(String)
public boolean
equals(String str)
以后,如果要比较两个字符串是否一样,优先使用equals()方法
或者使用更高效的方式: s1 == s2 || s1.equals(s2)
public char charAt(int index) 返回指定索引值处的字符
public int length() 返回字符串的长度
(数组的长度用属性length,后面没有小括号)
for(int i= 0; i< s.length() ; i++){
s.charAt(i)
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2