请原谅我,我是Java新手并且有一个非常基本的问题。我有一个字符串,并希望它的子字符串,例如:
String str = "hello";
str.substring(1);
System.out.println(str);
而不是获得"ello"
我得到原始的"hello"
,不知道为什么会这样吗?感谢。
答案 0 :(得分:11)
Java中的字符串是不可变的。我相信你想这样做:
String str = "hello";
str = str.substring(1);
System.out.println(str);
答案 1 :(得分:6)
无法在Java中更改字符串,因此您需要重新分配子字符串:
str = str.substring(1)
而不是单独调用该方法。
答案 2 :(得分:2)
您没有保存对字符串所做的更改。
str=str.substring(1);
答案 3 :(得分:1)
您需要将子字符串保存到新变量(如果您愿意,可以保存旧变量)。这样的事情可以解决问题:
String str = "hello";
String strSub = str.substring(1);
System.out.println(strSub);
对于阅读这篇文章的人来说,请记住substring(1)意味着从char 1开始直到字符串结束为止。
答案 4 :(得分:1)
您可以直接将其放入 .println(..)
String str = "hello";
System.out.println(str.substring(1));
但 str 将保持不变。