Closed. This question is opinion-based。它当前不接受答案。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
在8个月前关闭。
我编写或阅读的所有代码,都看到整数常量声明为,
但是,最近我看到了一些常量实例声明为:
在我们的新代码库中。两者都实现了恒定的语义,但是
是否有任何论点赞成将
但是,如果使用常量的数据类型为
但是,如果您有太多的常量以至于需要考虑常量值的内存使用情况,那么使用常量可能是错误的选择(在这种情况下,您可能应该将数据存储在文件中)
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
在8个月前关闭。
我编写或阅读的所有代码,都看到整数常量声明为,
public static final int CONSTANT = 1;
但是,最近我看到了一些常量实例声明为:
public static final byte CONSTANT = 1;
在我们的新代码库中。两者都实现了恒定的语义,但是
byte
似乎非常不受欢迎是否有任何论点赞成将
int
用作常量,还是我只是在考虑一些东西? 最佳答案
它仅应取决于需要在何处使用常量以及该位置的预期类型。
假设您正在实现某种类型的文件或二进制数据格式,并且需要适合字节的常量,那么使用byte
是有意义的
public static final byte RECORD_START = 1;
public static final byte FIELD_TYPE_NUMBER = 2;
// ...
ByteBuffer b;
b.put(RECORD_START);
b.put(FIELD_TYPE_NUMBER);
但是,如果使用常量的数据类型为
int
,则也应使用int
作为常量的类型。int
是32位,而byte
是8位。但是,如果您有太多的常量以至于需要考虑常量值的内存使用情况,那么使用常量可能是错误的选择(在这种情况下,您可能应该将数据存储在文件中)