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新手。
toArray 메서드 본문은 전달한 유형을 기반으로 하는 강제 유형 변환을 사용합니다.
을 직접 작성하는 것이 좋습니다. 으아아아new Teacher[0]
은 타입을 전송하는 데 사용되므로 재사용을 위해이런 방식으로 전달된 배열이 채워진 다음 반환되므로 더 효율적입니다.
으아악
toArray는 배열을 반환합니다
해시키를 얻으려면 API 문서를 직접 확인하세요. java를 배우려면 jdk에 대한 지식이 매우 중요합니다. 나는 jdk에 그러한 방법이 있음을 보장합니다. 해시맵 또는 해당 상위 클래스에 대한 설명서를 참조할 수 있습니다.
이 정의에 대해:
으아아아저라면 다음을 선택하겠습니다.
으아아아이전 정의를 사용하면 유형 정보가 손실되므로 원하는 유형을 얻으려면 강제로 변환해야 하며 이는 매우 안전하지 않습니다. 이는 또한 일반 디자인의 원래 의도에 위배됩니다.
위.
제가 이렇게 했어요
으아악이전에 제가 틀렸던 이유는 맵을 사용할 때 유형 손실 오류가 발생했기 때문일 수 있습니다. @驽马 오류를 지적해 주셔서 감사합니다.