189 8069 5689

Java常用类String类是什么

今天就跟大家聊聊有关Java常用类String类是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

创新互联专注于网站建设|成都网站维护|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖成都广告制作等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身定制品质网站。

常用类 String

String 类代表字符串。Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。

字符串是常量,它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。

String源码

public final class String
implements java.io.Serializable, Comparable, CharSequence {
}

String的成员变量

//String的属性值
private final char value[];
//数组被使用的开始位置
private final int offset;
//String中元素的个数
private final int count;
//String类型的hash值
private int hash; // Default to 0
private static final long serialVersionUID = -6849794470754667710L;
private static final ObjectStreamField[] serialPersistentFields =
  new ObjectStreamField[0];

从源码看出String底层使用一个字符数组来维护的。

成员变量可以知道String类的值是final类型的,不能被改变的,所以只要一个值改变就会生成一个新的String类型对象,存储String数据也不一定从数组的第0个元素开始的,而是从offset所指的元素开始。

(视频教程推荐:java视频教程)

创建字符串对象的方式

String s1 = "hello" ; 
String s2 = "world" ;
String s3 = "hello" ;
System. out. println(s1 == s3) ; //true

S1和S3的“hello”和s2的"world"存在的是方法区的常量池。

如图:

Java常用类String类是什么

所以s1==s3

s1 = new String ("hel1o") ;
s2 = new String ("hel1o") ;
System.out.println(s1 == s2) ; //false
System.out.println (s1.equals (s2) ) ; // true

s1和s2是通过new得到两个String对象,存在堆中,地址是不一样的。s1和s2是两个引用,所以比较的是地址,s1 != s2。

String的equals是重写了Object的equals,不是和Object一样比较地址,而是比较值,所以s1.equals (s2) 是true。

3.char c[]= { 's', 'u' , 'n',',', 'j', 'a', 'v' ,'a'} ;
String s4 = new String(c) ;
String s5 = new String(c,4,4) ;
System.out.println(s4) ; //sun java
System.out.println(s5) ; //java

看完上述内容,你们对Java常用类String类是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。


网站标题:Java常用类String类是什么
转载注明:http://cdxtjz.cn/article/jhjcic.html

其他资讯