لإرساء مثيلات من مجموعات Google في جافا
سؤال
كيف يمكنك إنشاء مثيل Bimap
من مجموعات Google؟
لقد قرأت السؤال Java: إنشاء إنشاء Google Google Hashbimap
عينة من التعليمات البرمجية الخاصة بي
import com.google.common.collect.BiMap;
public class UserSettings {
private Map<String, Integer> wordToWordID;
UserSettings() {
this.wordToWordID = new BiMap<String. Integer>();
انا حصلت cannot instantiate the type BiMap<String, Integer>
.
المحلول
كما هو مذكور في السؤال المرتبط، من المفترض أن تستخدم create()
طرق المصنع.
في حالتك، هذا يعني تغيير
this.wordToWordID = new BiMap<String. Integer>();
ل
this.wordToWordID = HashBiMap.create();
نصائح أخرى
بيماب هي واجهة، وبالتالي لا يمكن إنشاء مثيل لها. تحتاج إلى إنشاء مفهيا فرعية ملموسة وفقا للعقارات التي تريدها، فئة فرعية متاحة (وفقا ل Javadoc) enumbiMap., enumhashbimap., hashbimap., غير قابل للتغيير.
طريقة رائعة أخرى لإنشاء BIMAP، ولكن في هذه الحالة BIMAP ثابتة، تستخدم ImmutableBiMap.Builder
.
static final ImmutableBiMap<String, Integer> WORD_TO_INT =
new ImmutableBiMap.Builder<String, Integer>()
.put("one", 1)
.put("two", 2)
.put("three", 3)
.build();
لا تنتمي إلى StackOverflow