0
点赞
收藏
分享

微信扫一扫

java常用类之String类


一、String类介绍

与JS中的String不同,java中的String类型不属于基本数据类型,而是属于引用数据类型。java中的基本数据类型有8种,byte,short,int ,long,float,double,char,boolean。引用类型有类,数组和接口,而java中String就属于字符串类。

String类继承了Object类,Object类中,输出对象名输出的是对象的地址,采用equals方法比较的也是两个对象的地址,
String中重写了toString方法,输出对象名输出的直接是内容,使用equals方法,比较的也是两个对象的内容

二、String类创建对象的两种方式区别

方式一:String s = "abc";//直接赋值的方式创建

程序执行到此处时,首先会在栈中开辟空间存储局部变量 s,然后在方法区的常量池中开辟空间存储字符串abc,然后让将常量池中abc的地址赋值给s。然后s就指向了abc.
创建的字符串对象是在方法区的常量池中,只占一块空间,占存少,推荐使用

方式二:String s = new String("abc")  /采用构造方法创建

程序执行到此处时,首先会在栈中开辟空间存储局部变量s,然后new出来的对象存储在堆内存中,字符串abc存储在方法区的常量池中。
总共占两块空间,分别时堆内存和方法区的常量池中

图解:

java常用类之String类_String

三、关于string 类型的传参问题

图解说明:

java常用类之String类_API_02


注:

1.字符串是一个不可改变的序列

2.任意一个字符串都是一个对象,每使用一个新的字符串,相当于在常量池中创建了一个新的对象,字符串拼接以后地址发生了变化。

程序调用method方法时,传递的参数实际上是字符串hello的地址

四、String类常用API

charAt 截取字符串的某个字符

indexof 得到某个字符“第一次”出现的索引

replace 替换掉“第一次出现的某个元素”

split 把字符串分割成字符数组

subString字符串截取


举报

相关推荐

0 条评论