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新手。
高洛峰2017-04-17 15:32:36
toArray メソッドの本体では、渡された型に基づく強制的な型変換が使用されます。 new Teacher[0]
は型の転送に使用されるため、再利用するには
この方法では、渡された配列が埋められてから返されるため、より効率的です。
阿神2017-04-17 15:32:36
ハッシュキーの取得については、API ドキュメントをご自身で参照してください。 Java を学習するには、jdk に慣れることが非常に重要です。 jdkにはそのようなメソッドがあることを保証します。ハッシュマップまたはその親クラスのドキュメントを参照してください。
この定義について:
リーリー私だったら、次のことを選択します:
リーリー前の定義では型情報が失われるため、必要な型を取得するには強制的に変換する必要があり、非常に危険です。これはジェネリックデザインの本来の意図にも違反します。
上。
迷茫2017-04-17 15:32:36
これが私がやったことです
リーリーこれまで私が間違っていたのは、マップを使用するときに型損失エラーがあったためかもしれません。@驽马
のエラーをご指摘いただきありがとうございます。