【发布时间】:2017-01-24 10:31:35
【问题描述】:
我是编程新手。我对 Java 中的字符串有误解。据我所知,Java 中的字符串是不可变的。这意味着它不能更改,但是我已经看到很多逐个字符串读取文件的示例,并且 currentString 在每次迭代中总是被更改。请帮助我理解为什么它是可能的并写下来。 来自 URL Java read large text file with separator 的示例
BufferedReader br = null;
try {
String sCurrentLine;
br = new BufferedReader(new FileReader("C:\\testing.txt"));//file name with path
while ((sCurrentLine = br.readLine()) != null) {
String[] strArr = sCurrentLine.split("\\+");
for(String str:strArr){
System.out.println(str);
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
【问题讨论】:
-
不可变意味着字符串本身的实例无法更改。当您重新分配变量时,您正在为其分配一个不同的字符串实例,旧值不会更改。
标签: java string immutability