1

カスタムデータ型のセットを定義したい。CountryCode、RegionCode、CategoryCode、XYZTypeCodeなど(ISO標準CCTSタイプコードと同様)。すべてのコード値の最大サイズを6に制限したいので、たとえばインターフェイスを定義しました。

public interface CodeInterface{
    public interface Value{
  public char[] value= new char[6];
  public char[] listID = new char[8];
  public String listName = null;
  } 
 public List<Value> getCodeValues(); 
}
   ...
    public class Country implements CodeInterface{ 
        public List<CodeInterface.Value> getCodeValues() { 
            List<CodeInterface.Value> codeValues = new ArrayList<CodeInterface.Value>();
            CodeInterface.Value singleCodeValue = null;
            //Logic to get data from postgres DB....
            //Assign the code value
            singleCodeValue.content = (char[])resultSet.getString("CODE").toCharArray();
        }
    }

ただし、割り当てに「FinalCodeInterface.Value.Content」を割り当てることができないという構文エラーがあります。より適切で拡張可能なアプローチを提案してください。

ありがとう!

4

1 に答える 1

1

正直なところ、それはそれを解決する良い方法ではないと思います。

私があなたなら、代わりに例外を使用します。

if (listName.length() > 6)
    throw new IllegalArgumentException("CCTS too long.");

これらの文字列はハードコードされている可能性が高く (そのような文字列は無限にあり、おそらく近い将来には変更されないでしょう)、エラーはコード内にあり、初期のテストで発見される可能性が高くなります。

于 2012-05-23T07:27:40.990 に答える