Java常用类String类的详细介绍

发布时间:2024-05-05 点击:110
常用类 string
(推荐教程:java入门教程)
string 类代表字符串。java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。
字符串是常量,它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 string 对象是不可变的,所以可以共享。
string源码
public final class stringimplements java.io.serializable, comparable<string>, charsequence {}string的成员变量
//string的属性值private final char value[];//数组被使用的开始位置private final int offset;//string中元素的个数private final int count;//string类型的hash值private int hash; // default to 0private 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) ; //trues1和s3的“hello”和s2的"world"存在的是方法区的常量池。
如图:
所以s1==s3
s1 = new string ("hel1o") ;s2 = new string ("hel1o") ;system.out.println(s1 == s2) ; //falsesystem.out.println (s1.equals (s2) ) ; // trues1和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 javasystem.out.println(s5) ; //java

请问一下现在域名备案已通过审核
声网敲钟,雷军系“云”收获再下一城
我需要购买新的服务器能否临时打开小时
云服务器挂骰子
腾讯云服务器怎么改配置
云计算服务商备战11.11 拒绝伪实惠 瓜分千万现金
中小企业如何做好网站建设内容优化
腾讯企业邮箱有什么用途?