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
제가 이렇게 했어요
으아악이전에 제가 틀렸던 이유는 맵을 사용할 때 유형 손실 오류가 발생했기 때문일 수 있습니다. @驽马 오류를 지적해 주셔서 감사합니다.