Frage
Ich schreibe:
public interface Map <Key, Value> cells;
eclipse klagt und sagt: "{erwartet".
public interface Map <Key, Value> cells{};
ich dann schreibe oben in Eclipse und es beschwert „Syntaxfehler auf Token‚Zellen‘, löschen Sie dieses Token“.
Was soll ich tun? Google ist nicht mein Freund hier, wie ich nicht Code-Schnipsel zur Arbeit aus der Syntax diesen finden kann.
Lösung
Versuchen Sie, eine Membervariable cells
Namen zu erklären? Wenn ja, ist es die Art und Weise zu tun, ist:
public class Foo {
// ...
public Map<Type1, Type2> cells;
// ...
}
Wenn Sie eine Variable innerhalb einer Methode zu erklären versuchen, dies zu tun:
public class Foo {
// ...
public void myMethod() {
// ...
Map<Type1, Type2> cells;
// ...
}
// ...
}
Edit:. Es sieht aus wie Sie durch Map <Key, Value>
verwirrt sind, so werde ich versuchen zu erklären,
Key
ist ein Platzhalter für den Datentyp, dass das Map
Objekt für seine Reihe von Tasten verwenden. In ähnlicher Weise Value
ist ein Platzhalter für den Datentyp, dass es für seine Reihe von Werten zu verwenden. Eine gültige Kombination wäre zum Beispiel Map <String, Integer>
. Dies bedeutet, dass das Map
Objekt einen Satz von String
Objekten auf einen Satz von Integer
Objekten zugeordnet werden.
Andere Tipps
Sie wahrscheinlich bedeuten
public Map<Key, Value> cells;
Das interface
Schlüsselwort wird auf verwendet definieren eine Schnittstelle. implements
wird verwendet, wenn ein class
dass Geräte eine interface
erklärt.
Was wollen Sie tun? Definieren Sie eine neue Art oder definieren ein Element des Typs Map?
Wenn Sie ein Mitglied definieren, brauchen Sie nicht das Schlüsselwort interface vor sich her. Sie müssen nur Schnittstelle, wenn Sie einen neuen Typ definieren.
Sie möchten:
public Map<Key,Value> cells;
Um eine Variable mit dem Namen Zellen vom Typ erstellen Karte.
public interface Map<Key,Value> cells;
Ist erklärt (fälschlicherweise) eine benutzerdefinierte Schnittstelle Karte genannt -. Wahrscheinlich nicht das, was Sie zu tun versuchen