原谅我,我是 Java 新手,有一个非常基本的问题。我有一个字符串并想要它的子字符串,例如:
String str = "hello";
str.substring(1);
System.out.println(str);
而不是让"ello"
我得到原件"hello"
,知道为什么会这样吗?谢谢。
Java 中的字符串是不可变的。我相信你想这样做:
String str = "hello";
str = str.substring(1);
System.out.println(str);
字符串不能在 Java 中更改,因此您需要重新分配子字符串:
str = str.substring(1)
而不是自己调用方法。
您没有保存对字符串所做的更改。
str=str.substring(1);
您需要将子字符串保存到一个新变量中(如果您愿意,也可以是旧变量)。这样的事情应该可以解决问题:
String str = "hello";
String strSub = str.substring(1);
System.out.println(strSub);
对于阅读这篇文章的人,请记住 substring(1) 表示从 char 1 开始获取子字符串,一直到字符串的末尾。
可以直接放在.println(..)
String str = "hello";
System.out.println(str.substring(1));
但str将保持不变。