对于注释用户硬编码字符串或常量以获得更好的性能?

时间:2015-09-23 09:58:59

标签: java android performance annotations

在不同的项目中,我看到有些使用硬编码字符串和其他常量。 我找不到一个答案,哪个更好的RAM内存,使用常量或硬编码? 即。

@SerializedName(value = Constants.Annotation.PICTURE_ID)
private int pictureID;

@SerializedName(value = "picture_url")
private String url; 

1 个答案:

答案 0 :(得分:2)

我认为他们是一样的。 Java编译器将所有常量替换为它的值。在这种情况下,Qimg将替换为“picture_url”。因此,您建议的两种方法在编译时是相同的。所以当你运行它时没有任何区别。

但是,这不是故事的结局。当你使用强文字时,它被称为早期绑定。这会在代码写入时绑定值。如果要在不同位置更改所有相同的字符串文字,则需要逐个更改。但是,如果使用常量,则只需更改常量值即可。因此,后者提高了可维护性,建议使用。