2013-01-22 5 views
0
List holder = new List(); 
holder.add(new JTabbedPane()); 
holder.add(new JTabbedPane()); 

for(JTabbedPane tab : holder) 
{ 
    System.out.println(tab.toString()); 
} 

왜 for-each 루프에서 유형 불일치 오류가 표시됩니까?목록 반복 유형 불일치

+3

어떤 목록인가? ->'List holder = new List(); ' –

+0

새로운 ArrayList를 시도하십시오 (); 대신 – Shark

+0

당신은'List' 클래스를 보여줘야합니다. 왜냐하면'java.util.List'는 인터페이스이기 때문에 여러분은 그것을 인스턴스화 할 수 없기 때문에 여러분이 게시 한 코드의 첫번째 라인은 컴파일되지 않을 것입니다. – jlordo

답변

5

그것은 홀더 is List of Object , not List of JTabbedPane 때문에 오류를 보여주는이

ArrayList<JTabbedPane> holder = new ArrayList<JTabbedPane>(); 
     holder.add(new JTabbedPane()); 
     holder.add(new JTabbedPane()); 
     for (JTabbedPane jTabbedPane : holder) { 
      System.out.println(holder.toString()); 
     } 
0
Try: 
for(Object tab : holder) 
{ 
System.out.println(((JTabbedPane)tab).toString()); 
} 

으로 시도합니다. 따라서 for-each 루프를 for(JTabbedPane tab : holder)과 함께 사용하면 컴파일 오류가 표시됩니다.