ОК, поэтому я нашел стратегию, которая работает для моей конкретной проблемы, устанавливая минимальное количество символов для каждого случая, когда создается экземпляр Kingdom, и в Java это выглядит так:
public abstract class CustomTools {
public static char[] combineCharArrays(char[] array1, char[] array2){
// combines two char[] arrays into one with the combined length and returns the result
// no need to get too specific ;)
}
}
public class Kingdom {
private char[] name;
public char[] getName(){return name;}
public Kingdom(char nameChar1, char nameChar2, char nameChar3, char nameChar4, char nameChar5, char nameChar6, char nameChar7,
char nameChar8, char nameChar9, char nameChar10, char nameChar11, char nameChar12, char... restName) { //
char [] name = CustomTools.combineCharArrays(new char[] {nameChar1, nameChar2, nameChar3, nameChar4, nameChar5, nameChar6, nameChar7,
nameChar8, nameChar9, nameChar10, nameChar11, nameChar12}, restName);
this.name = name;
}
}
Однако, с этой реализацией утомительно работать (вместо одного слова каждый, использующий класс Kingdom, должен содержать как минимум 12 одинарных символов, разделенных запятыми) и, следовательно, не очень элегантный, бросая вызов моей первоначальной цели.Я также представляю себе, что концепция этого кода не работает или не подходит для различных вариантов использования.
Так что реального ответа на этот вопрос еще не найдено.