سؤال
انا اكتب:
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
.
ماذا تحاول أن تفعل ؟ تحديد نوع جديد أو تحديد عضو في نوع الخريطة؟
إذا كنت تحدد عضوًا ، فلن تحتاج إلى الكلمة الرئيسية للواجهة قبل ذلك. تحتاج فقط إلى واجهة إذا كنت تحدد نوعًا جديدًا.
انت تريد:
public Map<Key,Value> cells;
لإنشاء متغير يسمى خلايا من نوع الخريطة.
public interface Map<Key,Value> cells;
يعلن (بشكل غير صحيح) واجهة محددة من قبل المستخدم تسمى MAP - ربما لا ما تحاول القيام به.