私はクラスRatingを取得しています。列挙型の値をすべて内部で返す必要があります。実現できません。enumの値を返しますが、クラスの配列内にあるクラス
public class Rating implements java.io.Serializable {
/**
*
*/
private static Rating [] rates;
private enum Rates{
Very_Bad,
Bad,
Mediocre,
Good,
Very_Good,
Excellent;
}
public static Rating[] values() {
// TODO Auto-generated method stub
rates = new Rating[Rates.values().length];
rates[0] = Rates.Very_Bad; //Type mismatch: cannot convert from Rating.Rates to Rating
rates[1] = Rates.Bad; //Type mismatch: cannot convert from Rating.Rates to Rating
rates[2] = Rates.Mediocre; //Type mismatch: cannot convert from Rating.Rates to Rating
rates[3] = Rates.Good; // Type mismatch: cannot convert from Rating.Rates to Rating
rates[4] = Rates.Excellent; //Type mismatch: cannot convert from Rating.Rates to Rating
rates[5] = Rates.Excellent; //Type mismatch: cannot convert from Rating.Rates to Rating
return rates;
}
}
あなたは 'Rates []'の代わりに 'Rating []'を書いています。あなたのenumは 'Rates'の対象ですが、あなたはそれらを' Rating'のオブジェクトとして扱っています。 – Gendarme
これは意味をなさない。 'Rating'と' Rates'の間には関係がありません。後者を前者の配列に入れることはできません。すべての 'Rates'の配列を返す場合は' returns Rates.values() 'だけを返します。 – shmosel