@ZhekaKozlov Ich habe versucht, Map.of zu verwenden. Beim Ausführen des Tests wurde angegeben, dass das Symbol nicht gefunden werden konntejava: cannot find symbol symbol: method of(java.lang.String,double) location: interface java.util.Map
soMuchToLearn
@soMuchToLearn Welche Java-Version verwenden Sie? Runjava -version
ZhekaKozlov
Java 11, @ZhekaKozlovopenjdk 11.0.8 2020-07-14 OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04) OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)
soMuchToLearn
9
Map<Integer, Point2D> hm = new HashMap<Integer, Point2D>();
Mit Map<int, Point2D> hm = new HashMap<int, Point2D>(), bekomme ich diesen Fehler: Syntaxfehler auf Token "int", Dimensionen nach diesem Token erwartet.
Kevin Meredith
Ich habe vergessen, dass Java-Maps keine primitiven Typen unterstützen. Das wurde behoben.
Achrome
aber ich brauche Point2D als Wert im [Schlüssel, Wert]. : /
Kevin Meredith
Das habe ich ursprünglich geschrieben.
Achrome
1
Ich verwende eine solche Kartenpopulation dank Java 9. Meiner ehrlichen Meinung nach bietet dieser Ansatz eine bessere Lesbarkeit des Codes.
publicstaticvoidmain(String[] args){
Map<Integer, Point2D.Double> map = Map.of(
1, new Point2D.Double(1, 1),
2, new Point2D.Double(2, 2),
3, new Point2D.Double(3, 3),
4, new Point2D.Double(4, 4));
map.entrySet().forEach(System.out::println);
}
Map<Integer, Double>
Antworten:
Map <Integer, Point2D.Double> hm = new HashMap<Integer, Point2D>(); hm.put(1, new Point2D.Double(50, 50));
quelle
import java.util.Map; import java.util.HashMap;
oderimport java.util.*;
Es gibt noch eine bessere Möglichkeit, eine Karte zusammen mit der Initialisierung zu erstellen:
Map<String, String> rightHereMap = new HashMap<String, String>() { { put("key1", "value1"); put("key2", "value2"); } };
Weitere Optionen finden Sie hier. Wie kann ich eine statische Karte initialisieren?
quelle
Java 9
public static void main(String[] args) { Map<Integer,String> map = Map.ofEntries(entry(1,"A"), entry(2,"B"), entry(3,"C")); }
quelle
Map.of(1, "A", 2, "B", 3, "C")
ist besserjava: cannot find symbol symbol: method of(java.lang.String,double) location: interface java.util.Map
java -version
openjdk 11.0.8 2020-07-14 OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04) OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)
Map<Integer, Point2D> hm = new HashMap<Integer, Point2D>();
quelle
Point2D.Double
sieht nicht aus wie einPoint2D
= \Map<int, Point2D> hm = new HashMap<int, Point2D>()
, bekomme ich diesen Fehler: Syntaxfehler auf Token "int", Dimensionen nach diesem Token erwartet.Ich verwende eine solche Kartenpopulation dank Java 9. Meiner ehrlichen Meinung nach bietet dieser Ansatz eine bessere Lesbarkeit des Codes.
public static void main(String[] args) { Map<Integer, Point2D.Double> map = Map.of( 1, new Point2D.Double(1, 1), 2, new Point2D.Double(2, 2), 3, new Point2D.Double(3, 3), 4, new Point2D.Double(4, 4)); map.entrySet().forEach(System.out::println); }
quelle