[解決済み] Java JUnitです。メソッド X はタイプ Y に対してあいまいです。
2022-02-11 10:28:05
質問
いくつかのテストは問題なく動作していました。その後、別のパッケージに移したところ、エラーが発生するようになりました。以下はそのコードです。
import static org.junit.Assert.*;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.jgrapht.Graphs;
import org.jgrapht.WeightedGraph;
import org.jgrapht.graph.DefaultWeightedEdge;
import org.jgrapht.graph.SimpleWeightedGraph;
import org.junit.*;
@Test
public void testEccentricity() {
WeightedGraph<String, DefaultWeightedEdge> g = generateSimpleCaseGraph();
Map<String, Double> eccen = JGraphtUtilities.eccentricities(g);
assertEquals(70, eccen.get("alpha"));
assertEquals(80, eccen.get("l"));
assertEquals(130, eccen.get("l-0"));
assertEquals(100, eccen.get("l-1"));
assertEquals(90, eccen.get("r"));
assertEquals(120, eccen.get("r-0"));
assertEquals(130, eccen.get("r-1"));
}
エラーメッセージはこうだ。
メソッド assertEquals(Object, Object) は、JGraphtUtilitiesTest 型ではあいまいです。
どうすれば直るのですか?クラスを別のパッケージに移動すると、なぜこの問題が発生したのですか?
解決方法を教えてください。
assertEquals(Object, Object)メソッドは、...の型に対してあいまいです。
このエラーが意味するのは、あなたが渡した
double
と
Double
を、2つの異なるシグネチャを持つメソッドに変換します。
assertEquals(Object, Object)
と
assertEquals(double, double)
の両方が、オートボックスのおかげで呼び出される可能性があります。
曖昧さを回避するために、必ず
assertEquals(Object, Object)
(2つのDoubleを渡すことで)または
assertEquals(double, double)
(2つのダブルスを通過することで)。
ですから、あなたの場合、使ってください。
assertEquals(Double.valueOf(70), eccen.get("alpha"));
または
assertEquals(70.0d, eccen.get("alpha").doubleValue());
関連
-
[解決済み】 java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver [重複]。
-
[解決済み] メソッドがスーパータイプのメソッドをオーバーライドまたは実装していない - Overrideの場合
-
[解決済み] メソッドがそのスーパークラスのメソッドをオーバーライドしない
-
[解決済み】Javaを包含するクラスではないのか?
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] Java の配列を表示する最も簡単な方法は何ですか?
-
[解決済み] ファイルの内容からJavaの文字列を作成するにはどうすればよいですか?
-
[解決済み] Javaの「for each」ループはどのように機能するのですか?
-
[解決済み】System.out.println()のJUnitテスト)
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Android Studio クラス org.codehaus.groovy.runtime.InvokerHelper を初期化できませんでした。
-
[解決済み】エラー:配列または java.lang.Iterable のインスタンスに対してのみ反復処理を行うことができます。
-
[解決済み】"実引数リストと形式引数リストの長さが異なる"
-
[解決済み】代入の左手は必ず変数 CharAt
-
[解決済み】Java、"変数名 "を変数に解決することができない
-
[解決済み】不正な反射的アクセスとは?
-
[解決済み】メソッド本体がない、またはJavaで抽象的な宣言をする
-
[解決済み】Javaを包含するクラスではないのか?
-
[解決済み】ソースルート外のJavaファイル intelliJ
-
[解決済み】予期しない型エラー