java - hashmap如何获取键值?
迷茫
迷茫 2017-04-17 15:30:36
0
4
625
HashMap<Teacher,Student> one = new HashMap<>();//Teacher,student都是自定义的类
one.put(wang,wan);//one.put(Teacher,Student)

应该如何获取hashMap.key我google了发现一些做法但是都没有什么用
例如

Teacher[] i = one.keyset().toArray(new Teacher[0]);

我想问一下如何获取key同时可以新定义一个对象来引用key
主要我无法解决的是one.keyset().toArray(new Teacher[0])返回的是一个超类,我没有办法强制转化,希望可以给我一点提示或者解决的方法,java新手。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全員に返信(4)
小葫芦

toArray メソッドの本体では、渡された型に基づく強制的な型変換が使用されます。 new Teacher[0] は型の転送に使用されるため、再利用するには

を直接記述することをお勧めします。 リーリー

この方法では、渡された配列が埋められてから返されるため、より効率的です。

いいねを押す +0
刘奇

リーリー

toArray は配列を返します

いいねを押す +0
阿神

ハッシュキーの取得については、API ドキュメントをご自身で参照してください。 Java を学習するには、jdk に慣れることが非常に重要です。 jdkにはそのようなメソッドがあることを保証します。ハッシュマップまたはその親クラスのドキュメントを参照してください。

この定義について:

リーリー

私だったら、次のことを選択します:

リーリー

前の定義では型情報が失われるため、必要な型を取得するには強制的に変換する必要があり、非常に危険です。これはジェネリックデザインの本来の意図にも違反します。

上。

いいねを押す +0
迷茫

これが私がやったことです

リーリー

これまで私が間違っていたのは、マップを使用するときに型損失エラーがあったためかもしれません。@驽马

のエラーをご指摘いただきありがとうございます。
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート