Collections.sortがdoubleでソートできない問題を完璧に解決する。
2022-02-09 12:56:34
Collections.sort(ag.state_list,new Comparator<State>(){ public int compare(State sta1, State sta2) { return sta1.score.compareTo(sta2. score);}. });
上記のコードは、ag.state_list (state_list は List で、オブジェクト State を格納します) をソートするもので、ソートの基準は State のプロパティ score (double として定義) です。しかし sta1.score.compareTo(sta2.score); の下に赤い波線がありますが、これは error: cannot invoke compareTo(double) on the primitive type double を示しています。
解決策: compareTo は Comparable を実装したオブジェクト型でのみ機能します。
最初の修正
Collections.sort(ag.state_list,new Comparator<State>(){ public int compare(State sta1, State sta2) { return new Double(sta1.score).compareTo(new Double(sta2.score));}. });
2つ目の解答は:double score; // scoreの定義
変更後:double score; // スコアを double にする ラッパークラス Double 型
関連
-
undefined[sonar] sonar:デフォルトのスキャンルール
-
SLF4J: クラス・パスに複数のSLF4Jバインディングが含まれています。
-
StringBuilderが投げるArrayIndexOutOfBoundsExceptionの探索
-
無効な文字定数
-
-bash: java: コマンドが見つからない 解決方法
-
Java appears タイプEを囲むインスタンスがアクセスできない。
-
ecplise プロンプトが表示されます。"選択したものは起動できません。" "最近の起動はありません。"
-
git pull appears現在のブランチに対するトラッキング情報がありません。
-
org.xml.sax.SAXParseExceptionのエラー解決方法
-
CAS 5.1.8でhttpをサポートし、認証されていない認可サービスエラーのプロンプトが表示される問題を解決した。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Eclipse問題 アクセス制限。タイプ 'SunJCE' が API でないことを解決し、/jdk ディレクトリにある /jre と jre の違いについて理解を深める。
-
アクセス制限です。タイプ 'Application' は API ではない(必要なライブラリに制限がある)。
-
Solve モジュールのビルドに失敗しました。Error: ENOENT: no such file or directory エラー
-
強制型変換について
-
Java Notes 005_この行に複数のマーカーがある - キーを変数に解決できない - シンタックスエラー、ins
-
java マイクロソフト払い戻し予期せぬサーバーからのファイルの終了
-
Junitのユニットテストはjava.lang.Testを報告します。
-
switch case文のcaseの後の列挙定数は列挙型なし
-
ApiModel と @ApiModelProperty の使用法
-
Prologでは、コンテンツは許可されていません。