以下のクラスでは、私は他のクラスにマップにアクセスする必要がMYMAPソナーエラー - このメンバーを作る「保護」
public class AllMap {
public static final Map<String, String> myMap= new HashMap<>();
static {
Map.put("yy", "AA");
Map.put("xx", "BB");
}
}
を宣言しています。
public class Test {
FieldMap.Map;
}
すべてが正常に動作しているが、ソナーは、第一クラス上の警告を与えている:
このメンバーは、「保護」してください。ライン
public static final Map<String, String> myMap = new HashMap<>();
上
私はこの警告を無視すべきか、私は保護に変更する必要がありますか?
public final Map<String, String> myMap = new HashMap<>();
パブリックではないください。
経験則:プライベートから始め、必要なときにのみレベルを1つ上に変更します。私はあなたが何をしようとしているのかよく分からず、プロジェクトの構造はどうですか?私はあなたの質問に答えられません。 – Maroun
私はmyMapをプライベートにし、静的なアクセサメソッドを作成します。 –