1
これは本当に簡単な質問です。私が欲しいものを基本的にブール値に応じて2つのコンストラクタを作成する
public class Category{
// STATE
private String mCategoryName;
private Boolean mContainsSubcategories;
private Subcategory[] mSubcategoryList; // Subcategory is another object
// Constructor
// for mContainsSubcategories == false, use the below constructor
public Category(String categoryName, Boolean containsSubcategories){
}
// for mContainsSubcategories == true, use the below constructor
public Category(String categoryName, Boolean containsSubcategories, Subcategory[] subcategoryList){
}
// GETTER METHODS
/* ..................... */
}
を、ブール値に応じて、異なるコンストラクタを使用して、次のように私は私のアプリのための単純なJavaオブジェクトを作ってるんです。ブール値がtrueの場合はコンストラクタを1つ使用し、falseの場合は他のコンストラクタを使用します。これどうやってするの?
なぜあなたはブールのparamが必要なのでしょうか? 次のコンストラクタ持つことができます。 公共部門(文字列カテゴリ名、サブカテゴリ[] subcategoryList) と 公共部門(文字列カテゴリ名) を、あなたはサブカテゴリかを渡す場合は、コンストラクタのdepandsを使用します。 – fbwnd
私はそれがあなたが望むものだとは思わない。 boolean型の引数(ブール値、ブール値ではなく、ブール値でなければなりません)を削除し、2番目のコンストラクタでbooleanフィールドをtrueに設定し、最初のコンストラクタでfalseに設定します。しかし、それでも、このブール値のポイントは何ですか。サブカテゴリがあるかどうかを知るには、配列の長さが> 0であるかどうかを調べるだけです。その情報を複製する必要はありません。私はそれがサブカテゴリが含まれている場合は、別のレイアウトを使用したいので –
は... – Asym