'자바 입문 시즌 1'의 집합 toString 소스 코드 분석

  :
	Collection c = new ArrayList();
	c.add("hello");
	c.add("world");
	c.add("java");
	
	System.out.println(c);

출력 출력:[hello world java]
질문:왜 c 출력 은 주소 값 이 아 닙 니까?
A:Collection c = new ArrayList(); 이것 은 다 중 입 니 다.그래서 c 를 출력 하 는 toString()방법 입 니 다.사실은 Array List 를 출력 하 는 toString()B:Array List 를 보 는 toString()입 니 다.우 리 는 Array List 에서 toString()을 발견 하지 못 했 습 니 다.이런 상황 에 부 딪 히 더 라 도 걱정 하지 마 세 요.있다 고 생각 하지만 없다 면 아버지 안에 가 봐 야 합 니 다.C:toString()의 방법 원본
public String toString() {
	        Iterator<E> it = iterator(); //           ,       
	        if (! it.hasNext())
	            return "[]";
	
	        StringBuilder sb = new StringBuilder();
	        sb.append('[');
	        for (;;) {
	            E e = it.next(); //e=hello,world,java
	            sb.append(e == this ? "(this Collection)" : e);
	            if (! it.hasNext())
	            	//[hello, world, java]
	                return sb.append(']').toString();
	            sb.append(',').append(' ');
	        }
	    }

집합 toString 소스 코드 는 간단 하 다 는 것 을 알 수 있 습 니 다.

좋은 웹페이지 즐겨찾기