簡體   English   中英

在Java中維護常量的最佳實踐

[英]Best practice for maintaining constants in Java

我對Java Projects維護中的常量存有疑問。 從我的角度來看,當我們嘗試將常量放入這樣的Abstract類中時:

public final class MyConstants {
public static final String CONSTANT1 = "const1";
public static final String CONSTANT2 = "const2";
public static final String CONSTANT3 = "const3";
public static final String CONSTANT4 = "const4";
}

之后,在項目的類中使用這些常量:

public void myMethod(final Map params) {
final String myparam = (String) params.get(MyConstants.CONSTANT1);
//DO SOMETHING WITH PARAMS
}

它導致樣板代碼,常量的冗長使用,並且沒有真正的進步。 另一方面,如果我們將這些常量放入類中,則由於某種原因人們會不喜歡它。 他們說:“在某個地方我們有相同的常量聲明怎么辦?” 問題是維護問題,如果我們更改該類中的這些常數,則更改可以在幾個部分上看到,而沒有任何大問題。

這些常量主要用於從Java角度映射Web服務,而不必生成基於WSDL的JAXB之類的POJO,Web服務操作直接映射為Java中的鍵值映射。 我想知道您如何看待這種方法以及我們是否還有其他選擇。

謝謝。

如果我理解您的擔心,請不要將這些常量硬編碼為值(可能將其作為默認值) ,並與Properties和/或ResourceBundle一起存儲。 您可能還閱讀了Properties上的Java教程。 就像是,

Properties props = new Properties();
FileInputStream in = new FileInputStream("my.proprties");
props.load(in);
String v = props.get("CONSTANT_ONE", "const1"); // <-- the "1" is a default.

然后,如果以后需要更改屬性,則只需修改屬性文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM