黑马程序员技术交流社区

标题: 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