Java子串不起作用

时间:2012-06-21 01:30:47

标签: java string

请原谅我,我是Java新手并且有一个非常基本的问题。我有一个字符串,并希望它的子字符串,例如:

String str = "hello";
str.substring(1);
System.out.println(str);

而不是获得"ello"我得到原始的"hello",不知道为什么会这样吗?感谢。

5 个答案:

答案 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 将保持不变。