Вопрос
Я пишу:
public interface Map <Key, Value> cells;
eclipse жалуется и говорит: «{ожидается».
public interface Map <Key, Value> cells{};
Затем я пишу вышеприведенное в eclipse, и он жалуется: «Синтаксическая ошибка в ячейках токена, удалите этот токен».
Что мне делать?Google здесь мне не друг, так как я не могу найти фрагменты кода, чтобы разобраться в синтаксисе этого.
Решение
Вы пытаетесь объявить переменную-член с именем cells
?Если да, то способ сделать это:
public class Foo {
// ...
public Map<Type1, Type2> cells;
// ...
}
Если вы пытаетесь объявить переменную внутри метода, сделайте следующее:
public class Foo {
// ...
public void myMethod() {
// ...
Map<Type1, Type2> cells;
// ...
}
// ...
}
Редактировать: Похоже, вас смущает Map <Key, Value>
, поэтому я попробую объяснить.
Key
является заполнителем для типа данных, который Map
объект будет использовать свой набор ключей.Сходным образом, Value
— это заполнитель для типа данных, который он будет использовать для своего набора значений.Допустимой комбинацией будет, например, Map <String, Integer>
.Это означает, что Map
объект будет отображать набор String
объекты к множеству Integer
объекты.
Другие советы
Вы, вероятно, имеете в виду
public Map<Key, Value> cells;
А interface
ключевое слово используется для определять интерфейс. implements
используется при объявлении class
который реализует interface
.
Что ты пытаешься сделать ?Определить новый тип или определить член типа Map?
Если вы определяете член, вам не нужно ключевое слово интерфейса перед ним.Интерфейс нужен только в том случае, если вы определяете новый тип.
Вы хотите:
public Map<Key,Value> cells;
Чтобы создать переменную с именем ячеек типа Map.
public interface Map<Key,Value> cells;
Объявляет (неправильно) пользовательский интерфейс под названием Map — возможно, это не то, что вы пытаетесь сделать.