java - hashmap如何获取键值?
迷茫
迷茫 2017-04-17 15:30:36
0
4
629
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]은 타입을 전송하는 데 사용되므로 재사용을 위해

을 직접 작성하는 것이 좋습니다. 으아아아

이런 방식으로 전달된 배열이 채워진 다음 반환되므로 더 효율적입니다.

刘奇

으아악

toArray는 배열을 반환합니다

阿神

해시키를 얻으려면 API 문서를 직접 확인하세요. java를 배우려면 jdk에 대한 지식이 매우 중요합니다. 나는 jdk에 그러한 방법이 있음을 보장합니다. 해시맵 또는 해당 상위 클래스에 대한 설명서를 참조할 수 있습니다.

이 정의에 대해:

으아아아

저라면 다음을 선택하겠습니다.

으아아아

이전 정의를 사용하면 유형 정보가 손실되므로 원하는 유형을 얻으려면 강제로 변환해야 하며 이는 매우 안전하지 않습니다. 이는 또한 일반 디자인의 원래 의도에 위배됩니다.

위.

迷茫

제가 이렇게 했어요

으아악

이전에 제가 틀렸던 이유는 맵을 사용할 때 유형 손실 오류가 발생했기 때문일 수 있습니다. @驽马 오류를 지적해 주셔서 감사합니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿