Pracuję teraz nad projektem Java i mam klasę, którą utworzyłem o nazwie DistanceQueue. Jest podpis jest przezNie można dodać pary (int, double) do HashMap <Integer, Double>
public class DistanceQueue<Integer> extends PriorityQueue<Integer>
W tej klasie, nie jest to metoda
public boolean add(int v)
który dodaje parę klucz-wartość (v, Double.MAX_VALUE) do HashMap nazywa odległościach, co jest w klasa DistanceQueue. Jednak wnętrze add (int v) po wpisaniu
distances.put(v, Double.MAX_VALUE);
pojawia się następujący błąd:
DistanceQueue.java:98: error: no suitable method found for put(int,double)
distances.put(v, Double.MAX_VALUE);
^
method HashMap.put(Integer,Double) is not applicable
(actual argument int cannot be converted to Integer by method invocation conversion)
where Integer is a type-variable:
Integer extends Object declared in class ShortestPaths.DistanceQueue
1 error
Czy ktoś wie dlaczego ja dostaję ten błąd? Myślałem, że Java automatycznie konwertuje między int i Integer dla ciebie. Czy istnieje prosty sposób, aby to naprawić?
Dzięki!
Co jest 'distances'? –
odległości to HashMap. Został utworzony z HashMap distance = new HashMap () –
Ryan
Z pewnością już widziałem duplikaty tego pytania, ale są one naprawdę trudne do wyszukania, ponieważ mają zazwyczaj losowe opisy problemów które nie wskazują na rzeczywisty problem. – 5gon12eder