ArrayList(preferred)またはすでに情報が含まれている配列を使用して、スーパークラスのコンストラクターを呼び出そうとしています。私の構文上の誤りが何なのか、あるいはそれができるのかわかりません。
具体的には、どちらかのオブジェクトに「true」と「false」を挿入します。あの二人だけ。
public class TrueFalseQuestion extends MultipleChoiceQuestion
{
Answer myAnswer;
StringPrompt myPrompt;
//I can create, but not initialize data up here, correct?
//Tried creating an ArrayList, but cannot insert the strings before calling constructor
public TrueFalseQuestion()
{
/* Want to call parent constructor with "true" and "false" in array or ArrayList already*/
super(new String["true", "false"]);
...
}
これはfacepalm-erだと感じていますが、理解できません。私はさまざまな方法を試しましたが、問題は、スーパーコンストラクターを最初に呼び出す必要があるため、データを初期化する機会が与えられないことです。
次の形式を使用します。
super(new String[] {"true", "false"});
MultipleChoiceQuestion
このようなコンストラクタが含まれている場合:
MultipleChoiceQuestion(String[] questionArray)
たとえば、次のようにList
引数付きのオーバーロードされたコンストラクターが含まれている場合:
MultipleChoiceQuestion(List<String> questionList)
その後、使用できます:
super(Arrays.asList("true", "false"));
またはArrayList
使用する必要がある場合:
super(new ArrayList<String>(Arrays.asList(new String[] { "true", "false" })));
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加