我有一个数组,其中包含程序中使用的一些定义:
final String[] names = new String[]{"familyNames", "givenNames", "middleNames", "nickNames", "additionalNames", ..., ..., ..., ...}; // Lots of definitions
现在我需要使用这些定义创建一个新类:
public class Person {
final private String id;
final private String familyNames;
final private String givenNames;
final private String middleNames;
final private String nickNames;
final private String additionalNames;
...
...
...
...
... // Very long list
}
是否可以通过该数组定义此类?像这样的东西:
public class Person {
final private String id;
final private .... names...
public int compareTo(...) {...}
}
这个Person
类应该支持按多个字段排序,例如首先按名字,然后按姓氏等。
最佳答案
为了避免出现一长串类成员变量,您可以使用此处提到的属性映射:
Map<String,String> attributesMap = new HashMap<String,String>();
“familyNames”、“givenNames”、“middleNames”、“nickNames”、“additionalNames”等应用作键。
关于Java 通过最终数组定义类成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20696217/