【发布时间】:2011-01-04 03:46:24
【问题描述】:
【问题讨论】:
【问题讨论】:
确实如此。这允许安全管理器和类加载器中的代码使用 String 类型,而不必担心它实际上是在处理一个恶意子类,该子类专门设计用于诱使恶意代码通过。
【讨论】:
您不应该扩展字符串类。只需在其他处理字符串的类中编写自己的方法即可。
原因是字符串类是一个稳定的类,不应该被篡改,因为你可能会重新定义一些方法,这些方法会对其他一些事务产生未知的副作用。
【讨论】:
final 以防止被覆盖,而不是整个类。你怎么看?
除了已经提到的安全方面,我怀疑性能是另一个重要原因。对于较旧的 JVM,尤其是最终类(根据定义,所有方法都是最终的)使得动态内联代码变得更加容易。而且由于 String 是使用最频繁的对象之一,它会影响许多应用程序的整体性能,因此这被视为一个可以产生巨大整体影响的领域。
【讨论】: