JAVA 의 범 형.

5968 단어 자바
일반적인 역할 은 매개 변수 유형 을 제한 하고 코드 를 더욱 엄밀 하 게 하 는 데 있 으 며 나중에 사용 할 때 매개 변수 에 대한 호출 이 잘못 되 지 않 습 니 다.
자바 내부 클래스 의 실현 을 직접 살 펴 보 겠 습 니 다.
 1 // IntelliJ API Decompiler stub source generated from a class file
 2 // Implementation of methods is not available
 3 
 4 package java.util;
 5 
 6 public interface Map<K, V>   {
 7     
 8     int size();
 9     
10     boolean isEmpty();
11     
12     boolean containsKey(java.lang.Object o);
13     
14     boolean containsValue(java.lang.Object o);
15     
16     V get(java.lang.Object o);
17     
18     V put(K k, V v);
19     
20     V remove(java.lang.Object o);
21     
22     void putAll(java.util.Map<? extends K,? extends V> map);
23     
24     void clear();
25     
26     java.util.Set<K> keySet();
27     
28     java.util.Collection<V> values();
29     
30     java.util.Set<java.util.Map.Entry<K,V>> entrySet();
31     
32     boolean equals(java.lang.Object o);
33     
34     int hashCode();
35     
36     static interface Entry<K, V>   {
37         
38         K getKey();
39         
40         V getValue();
41         
42         V setValue(V v);
43         
44         boolean equals(java.lang.Object o);
45         
46         int hashCode();
47     }
48 }

이것 은 자바 맵 인터페이스의 실현 입 니 다.
맵 인터페이스 에서 정의 하 는 방법 을 주의 하면,
1 V put(K k, V v);

그의 반환 값 유형 과 매개 변수 유형 은 모두 K, V 이다. 즉, Integer 나 String 같은 강 한 유형 을 제한 하지 않 았 다 는 것 이다.
우 리 는 자신의 필요 에 따라 범 형 을 Integer 나 String 으로 설정 하여 나중에 들 어 오 는 것 과 매개 변수 유형, 그리고 매개 변수 방법 에 대한 호출 을 제한 할 수 있 습 니 다.
저희 가 보통 호출 할 때 이렇게 써 요.
1 Map<String, String> strMap = new HashMap<String, String>();

여기 서 앞으로 strMap 을 put 작업 할 때 들 어 오 는 유형 은 String 일 수 밖 에 없습니다.
그리고 strMap 에서 요 소 를 얻 으 면 이 요 소 는 String 류 에서 가장 작 동 합 니 다.
그리고 범 형 중의 유형 도 계승 을 지원 할 수 있 습 니 다.
1 class Sort<E extends Comparable<E>> { /** **/ }

좋은 웹페이지 즐겨찾기