String类总结

有这样一道题 String s=new String(“abc”); 这样的方式创建对象,在内存中创建了几个对象?
答案:两个,一个是堆空间中new出的结构,另一个是char[]对应的常量池中的数据(“abc”)而这就涉及到了关于String类的使用


String类,代表字符串,Java程序中所有字符串字面值都作为此类的实例实现。
String对象的字符串内容是存储在一个字符串数组value[]中的
String实现了Serializable接口:表示字符串是支持序列化的
String实现Comparable接口,表示String可以比较大小
String内部定义final char[] value 用于存储字符串数据


String 代表了不可变的字符序列,也就是它的不可变性。

体现:
1)当对字符串重新赋值时,需要重新制定内存区域赋值,不能使用原有的value进行赋值;
2)当对现有的字符串进行连接操作时,也需要重新制定内存区域赋值,不能在原有的位置上赋值
3)当调用String.replace方法修改指定的字符或字符串时,也需要重新指定内存区域,不能在原有的value上赋值


通过字面量的方式给一个字符串赋值时,此时字符串声明在字符串的常量池中 ```java String s1="abc";// 字面量 String s2="abc";// 此时的s1和s2是同一个变量,在常量池中 ``` 字符串的常量池是不会存储相同内容的字符串,而通过new+构造器的方式,将字符串保存在地址值的堆空间中
String s1 = "javaEE";
String s2="javaEE";
String s3=new String("javaEE");
String s4=new String("javaEE");
// 因为是字面值,字面值二者是相等的
System.out.println(s1==s2);
// 因为s3是new的新对象堆空间中,所以不等
System.out.println(s1==s3);
// 同理s4也是new的新对象堆空间中,所以不等
System.out.println(s1==s4);
// s3和s4都是new的新对象堆空间中,所以不等
System.out.println(s3==s4);

这里要特别注意一点,当使用final修饰的时候,此时变量就变为了常量
String s1="javaEEhadoop";
String s2="javaEE";
String s3=s2+"hadoop";
System.out.println(s1==s3);
final String s4="javaEE";// 加入final,该变量成为常量
String s5=s4+"hadoop";
System.out.println(s1==s5);// 所以此时返回true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: string是标准C++中的一个字符串,它提供了许多常用方法,包括: 1. length():返回字符串的长度。 2. size():同length(),返回字符串的长度。 3. empty():判断字符串是否为空字符串。 4. clear():清空字符串。 5. resize():改变字符串的大小。 6. substr():返回字符串的子串。 7. find():查找子串在字符串中第一次出现的位置。 8. rfind():查找子串在字符串中最后一次出现的位置。 9. replace():替换字符串中的子串。 10. c_str():返回字符串的C风格字符串表示。 11. compare():比较两个字符串的大小。 这些方法都是很常用的,可以方便地操作字符串。 ### 回答2: string是Java中常用的一个,用于表示字符串。它包含了很多常用的方法,下面我将介绍几个常用的方法: 1. length()方法:用于返回字符串的长度。例如,对于字符串"Hello World",使用length()方法将返回11。 2. charAt()方法:用于返回指定位置上的字符。字符串中的每个字符都有一个对应的索引值,第一个字符的索引值为0。例如,对于字符串"Hello World",使用charAt(1)方法将返回'e'。 3. substring()方法:用于返回从指定位置开始到指定位置结束的子字符串。例如,对于字符串"Hello World",使用substring(6, 11)方法将返回"World"。 4. indexOf()方法:用于返回指定字符或子字符串在原字符串中第一次出现的位置。例如,对于字符串"Hello World",使用indexOf("o")方法将返回4。 5. toUpperCase()方法和toLowerCase()方法:分别用于将字符串中的字符转换为大写和小写。例如,对于字符串"Hello World",使用toUpperCase()方法将返回"HELLO WORLD",使用toLowerCase()方法将返回"hello world"。 这些只是string中的一小部分常用方法,还有很多其他的方法可以操作字符串。通过这些方法,我们可以对字符串进行长度判断、字符提取、子字符串截取、字符查找等各种操作,从而满足不同的需求。 ### 回答3: string是Java中用于表示字符串的一个。它提供了许多常用的方法,方便我们对字符串进行操作。 首先是字符串的创建和获取长度。我们可以使用构造函数创建一个字符串对象,也可以使用双引号直接创建字符串常量。使用.length()方法可以获取字符串的长度。 接下来是字符串的拼接和切割。字符串拼接可以使用+运算符或.concat()方法进行,两个方法都可以将两个字符串连接起来。字符串切割可以使用.split()方法,该方法接收一个正则表达式作为参数,将字符串分割成多个子字符串。 然后是字符串的查找和替换。使用.indexOf()方法可以查找指定字符或字符串在原字符串中的位置,如果找到则返回其索引,否则返回-1。使用.replace()方法可以将一个字符串替换成另一个字符串。 还有字符串的大小写转换。使用.toUpperCase()方法可以将字符串转换成大写形式,使用.toLowerCase()方法可以将字符串转换成小写形式。 其次是字符串的截取和比较。使用.substring()方法可以截取字符串的一部分,指定起始索引和结束索引。使用.equals()方法可以比较两个字符串是否相等,区分大小写。使用.equalsIgnoreCase()方法可以比较两个字符串是否相等,不区分大小写。 最后是字符串的去除空格和判断开头或结尾。使用.trim()方法可以去除字符串前后的空格。使用.startsWith()方法可以判断字符串是否以指定字符或字符串开头,使用.endsWith()方法可以判断字符串是否以指定字符或字符串结尾。 总结来说,string的常用方法包括创建和获取字符串、拼接和切割字符串、查找和替换字符串、大小写转换、截取和比较字符串、去除空格和判断开头或结尾等。这些方法可以方便地对字符串进行各种操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值