在不同的项目中,我看到有些使用硬编码字符串和其他常量。 我找不到一个答案,哪个更好的RAM内存,使用常量或硬编码? 即。
@SerializedName(value = Constants.Annotation.PICTURE_ID)
private int pictureID;
或
@SerializedName(value = "picture_url")
private String url;
答案 0 :(得分:2)
我认为他们是一样的。 Java编译器将所有常量替换为它的值。在这种情况下,Qimg
将替换为“picture_url”。因此,您建议的两种方法在编译时是相同的。所以当你运行它时没有任何区别。
但是,这不是故事的结局。当你使用强文字时,它被称为早期绑定。这会在代码写入时绑定值。如果要在不同位置更改所有相同的字符串文字,则需要逐个更改。但是,如果使用常量,则只需更改常量值即可。因此,后者提高了可维护性,建议使用。