Java 限制自定义基类型接口中的大小,以便实现自定义类型

Java 限制自定义基类型接口中的大小,以便实现自定义类型,java,Java,我想定义一组自定义数据类型,例如CountryCode、RegionCode、CategoryCode、XYZTypeCode等(类似于ISO标准CCTS类型代码)。我想限制所有代码值的最大大小为6。 公共接口代码接口{ 公共接口值{ 公共字符[]值=新字符[6]; public char[]listID=新字符[8]; 公共字符串listName=null; } 公共列表getCodeValues(); } ... 公共类国家/地区实现CodeInterface{ 公共列表getCodeV

我想定义一组自定义数据类型,例如CountryCode、RegionCode、CategoryCode、XYZTypeCode等(类似于ISO标准CCTS类型代码)。我想限制所有代码值的最大大小为6。

公共接口代码接口{
公共接口值{
公共字符[]值=新字符[6];
public char[]listID=新字符[8];
公共字符串listName=null;
} 
公共列表getCodeValues();
}
...
公共类国家/地区实现CodeInterface{
公共列表getCodeValues(){
List codeValues=新的ArrayList();
CodeInterface.Value singleCodeValue=null;
//从postgres DB获取数据的逻辑。。。。
//分配代码值
singleCodeValue.content=(char[])resultSet.getString(“代码”).toCharArray();
}
}

但是赋值有语法错误,无法赋值“Final CodeInterface.Value.Content”。 请建议一种更好的、可扩展的方法


谢谢

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

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

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

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

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

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

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

这些字符串很可能是硬编码的(有有限多个这样的字符串,它们可能在不久的将来不会更改),因此任何错误都很可能出现在代码中,并在早期测试中被捕获。

Hi-Aiobe,接口编译正确,但实现类没有正确编译(如我上面提到的)。您没有向我们展示代码。其中是
Final CodeInterface.Value.Content
,其中是
singleCodeValue
例如声明的。请提供一个更完整的示例。您可以尝试上面的代码,只需更改最后一行即可为内容部分赋值。我在代码中也提到了这个声明:CodeInterface.Value singleCodeValue=null;
界面没有名为
内容
的字段,因此我不知道如何尝试该代码。哎呀!请阅读singleCodeValue.content作为singleCodeValue.Value.Hi Aioobe,接口编译正确,但实现类不正确(正如我上面提到的)。您还没有向我们展示代码。其中是
Final CodeInterface.Value.Content
,其中是
singleCodeValue
例如声明的。请提供一个更完整的示例。您可以尝试上面的代码,只需更改最后一行即可为内容部分赋值。我在代码中也提到了这个声明:CodeInterface.Value singleCodeValue=null;
界面没有名为
内容
的字段,因此我不知道如何尝试该代码。哎呀!请以singleCodeValue.Value的形式阅读singleCodeValue.content。