目前在java中編寫代碼來玩紙牌遊戲「戰爭」。我有一個錯誤是:未定義大於表達式,java
操作員>是未定義的參數類型(一個或多個)
Class<capture#1-of ? extends Card>
,Class<capture#2-of ? extends Card>
操作<是未定義的參數類型(一個或多個)Class<capture#3-of ? extends Card>
,Class<capture#4-of ? extends Card>
「
我寫的代碼是這個(併爲「<」表達的相同)
if (player1Card.getClass() > player2Card.getClass()) {
player1Cards.addLast(player2Card) ;
player1Cards.addLast(player1Card) ;
如何定義小於和大於符號?我不知道把定義放在哪裏,Eclipse只顯示錯誤信息。
你爲什麼要比較課堂?!?你想達到什麼目的?通常,類只與'='比較,而不是'<' or '>' – Marged
Java不支持用戶定義的運算符重載(與本例中的C++不同)。您需要以不同的方式處理您的問題。 –
'player1Card'和'player2Card'是什麼類型?您需要該類型實現['Comparable'](https://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html)**或**您可以創建一個[這個**類型**的'Comparator'](http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html)。 –