1

trouble comparing objects of another classどうすればいいですか?
私はおいしい例を作りました。うまくいけば、コードは一目瞭然です。

Cake.java:

public class Cake implements Comparable<Cake> {

  private final int tastyness;

  public Cake(tastyness) {
    this.tastyness = tastyness;
  }

  public int compareTo(Cake other) {
    return this.tastyness - other.tastyness;
  }
}

makeBestDinner.java:

public class makeBestDinner {

  List<Cake> cakes = new ArrayList<cake>();
  // Make a whole lot of cakes here
  if (cakes[0] > cakes[1]) {
    System.out.println("The first cake tastes better than the second");
  }

  // Do the same for beverages
}
4

5 に答える 5

2
  • Java は演算子のオーバーロードをサポートしていないため、以下は機能しません。
  if (cakes[0] > cakes[1]) {

代わりに、

if (cakes.get(0).compareTo(cakes.get(1)) > 0) {
  • また、リストから要素を取得するには、list.get(index)notを呼び出す必要があります

リスト[インデックス]

したがって、次のコードは機能しません。

List<Cake> cakes = new ArrayList<cake>();
// Make a whole lot of cakes here
if (cakes[0] > cakes[1]) {
于 2013-04-10T09:43:26.817 に答える
0

if (cakes[0] > cakes[1])...

ここで問題ありませんか?人々が言っ​​たように、使用する必要がありif(cakes[0].compareTo(cakes[1]) > 0) ますが、ArrayList を使用していると言えます。listname[要素番号] と入力して本当に要素を取得できますか? listname.get(elementnumber) を使用する必要があると思いました。

于 2013-04-10T09:47:35.267 に答える