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();
        }
    }

但是分配有语法错误,无法分配“Final CodeInterface.Value.Content”。请提出更好和可扩展的方法。

谢谢!

4

1 回答 1

1

老实说,我认为这不是解决问题的好方法。

如果我是你,我会选择一个例外:

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

这些字符串很可能是硬编码的(这样的字符串数量有限,而且它们在不久的将来可能不会改变),因此任何错误都很可能出现在代码中并在早期测试中发现。

于 2012-05-23T07:27:40.990 回答