범용(컴 파일 단계)

2252 단어 자바필기 하 다.
왜 범 형 을 도입 합 니까?
범 형 이 적용 되 지 않 으 면 집합 에 있 는 요소 가 일치 하지 않 고 집합 을 옮 겨 다 닐 때 Object 형식 만 꺼 낼 수 있 으 며 대량의 강제 유형 전환 이 필요 합 니 다.
(장점,집합 중의 유형 이 일치 하지 않 음)
결합 중인 데이터 형식 을 통일 할 수 있 고 강제 형식 변환 을 줄 일 수 있 습 니 다.
어떻게 실현 합 니까?
 
public static void main(String[] args) {
		//          
		List str = new ArrayList();//    List     ,    String   
		str.add("a");
		str.add("a");
		str.add("albot");
		Iterator it = str.iterator();
		while(it.hasNext()) {
			String s = it.next();
			System.out.println(s);
		}
	}

 
public static void main(String[] args) {
		//          
	Map s  = new HashMap();
	
	s.put("wq", 12);
	s.put("wq", 12);
	s.put("wq", 13);
	
	Set h = s.keySet();
	
	Iterator i1 = h.iterator();
	while(i1.hasNext()) {
		String k = i1.next();
		Integer v1 = s.get(k);
		System.out.println(k+"--->"+v1);
	}
	}

장점 과 단점
우,유형 통일,강제 유형 전환 감소
부족 하 다
SortedMap 사용 범 형
public static void main(String[] args) {
	//SortedSet    
		SortedSet ss = new TreeSet();
		Manager m1 = new Manager(1.0);
		Manager m2 = new Manager(2.0);
		Manager m3 = new Manager(1.2);
		
		ss.add(m1);
		ss.add(m2);
		ss.add(m3);
		
		Iterator it  = ss.iterator();
		while (it.hasNext()) {
			Manager m =  (Manager) it.next();
			m.work();
		}
	}
}
class Manager implements Comparable{
	double price;
	Manager(double price){
		this.price = price;
	}
	public String toString() {
		return price+" ";
	}
	public void  work() {
		System.out.println("  "+price);
	}
	public int compareTo(Manager m) {
		double sal1 = this.price;
		double sal2 = m.price;
		if(sal1sal2) {
			 return 1;
		}
		return 0;
	}

사용자 정의 범 형
범 형 은 컴 파일 해결 컴 파일 형식 입 니 다.
public static void main(String[] args) {
		
		MyClass m = new MyClass();
		
		m.m1("String");
	}
}
//     
class MyClass{
	public void  m1(T t) {
		System.out.println(t);
	}
}

좋은 웹페이지 즐겨찾기