如果你有两个String实例,并且它们是相同的,那么在Java中它们将共享相同的内存.这是如何在引擎盖下实施的?
编辑:我的应用程序使用大量的String对象,其中许多是相同的.使用Java String常量池的最佳方法是什么,以避免创建自定义flyweight实现?
假设我有这个简单的类:
public class Car {
public static final int TYPE_SUV = 1;
public static final int TYPE_TRUCK = 2;
public String name;
public int carType;
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我有这些的集合,我知道我正在为集合中的每个元素分配一个String和一个int,但我是否也int多次存储静态?这个设计的示例类代表了我在几年前写的那种Java之前,我才知道像这样的幻想数字更好地服务enum于一个单独的类中定义,但我总是想知道这个代码的副作用是什么.