2014-12-23 7 views
0

Eclipse의 Range 클래스에 Google Guava를 구현하려고합니다. 지금까지 구아바 라이브러리를 성공적으로 가져 왔다고 말할 수는 있지만 다음과 같이 새 범위를 인스턴스화하려고하면 "범위를 유형으로 확인할 수 없습니다."라는 오류 메시지가 나타납니다.Eclipse의 Guava - 범위 "유형으로 해결할 수 없습니다"

import com.google.*; 

public class RangeTest { 

    Range<Integer> testRange = Range.closed(1, 5); 

} 

정적 가져 오기 또는 메서드 구문의 일부가 누락되었습니다.

저는 현재 Standford's CS106a curriculum을 통해 작업하고 있습니다 (Guava는 관련없는 프로젝트 용이지만). 그래서 JRE 1.6과 "Standford Eclipse"SDK를 사용하고 있습니다. 대신 Dollar을 사용해 보았습니다. 정적 가져 오기를 사용하여 작업 할 수있었습니다. Java와 프로그래밍에 익숙하지 않습니다.

+3

와일드 카드가 재귀가 아니기 때문에 'com.google.common.collect. *'가 작동해야합니다. – August

+0

삭제했습니다. 오류, 감사합니다. – ciderbribe

+0

이클립스를 사용하는 경우 와일드 카드 가져 오기를 사용하지 않아도됩니다. 자동 완성 (CTRL + Space)을 사용하여 클래스 이름을 완성하고 명시 적 가져 오기가 자동으로 삽입됩니다. 또는 Ctrl + Shift + O를 사용하면 가져 오기를 다시 구성하고 아직 사용하지 않은 새 항목을 포함하여 사용되지 않은 항목을 제거 할 수도 있습니다. 명시 적 가져 오기를 사용하면 동일한 이름을 가진 두 클래스의 모호성을 처리 할 필요가 없다는 이점이 있습니다. 또한 Map.Entry와 같은 하위 클래스는 와일드 카드 가져 오기에 포함되지 않습니다. –

답변

0

Javadocs에는 구아바에서 제공하는 패키지의 전체 목록이 들어 있으며 com.google은 패키지가 아닙니다. 8 월 노트로 * 재귀하지 않습니다 -.. 그것은이 패키지에서 "수입 모든 클래스 의미 com.google에는 클래스가 없기 때문에이 사항이 수행 아무것도

이 와일드 카드 수입에 문제가있는 많은 이유 중 하나입니다, (예 : Google's style guide). import com.google.common.collect.Range;이라고 적으면 경기가 끝났을 때

관련 문제