sgo*_*les 17 java string final immutability
我知道,java.lang.String
出于安全性和性能相关的原因,该类被声明为final.
我不理解的是,使用所有最终变量和最终方法是否可以实现相同目的而不是声明最终类?
简而言之,下面两个代码片段之间有什么区别...例如
public class final String { .. }
Run Code Online (Sandbox Code Playgroud)
V/S
// non final class
public class String {
// all final variables
private final char[] value;
// all final methods
public final String subString() { .. }
public final int length() { return value.length;}
// etc
}
Run Code Online (Sandbox Code Playgroud)
EDITS
简单来说,我可以通过采用任何一种方法达到相同的不变性水平吗?它们是否都能使对象变得不可变?