2014-02-28 2 views
0

그래서 내 프로그램에서이 이상한 오류가 발생합니다. 이전에 마지막으로 발생한 오류가 있기 전에 내가 무엇을해도 문제를 해결할 수 없습니다. 나는 jMonkey 엔진 3 (jme3)를 사용하고 이것은 오류가있는 코드의 조각 :목록 및 변경 가능 목록의 문제

public List<Element> getTerrainElements() { 
    return ImmutableList.builder().addAll(this.elements).build(); 
    } 

및 오류이 없다 : 아무리 코드의이 비트에 무엇을하려고

incompatible types 
required: List<Element> 
found: ImmutableList<Object> 

나는 항상 오류가 발생하고 오류를 제거하여 프로그램을 디버그 할 수있는 방법을 알고 싶습니다. 더 많은 정보가 내 질문에 대답하는 데 필요한 경우, 그냥 부탁하고 내가 할 수있는 일을 말할 수있게되어 기쁩니다. 감사!

답변

3

는 대신

return ImmutableList.<Element>builder().addAll(this.elements).build(); 

할 필요가있다.

ImmutableList.builder()은 제네릭 형식을 유추 할 수 없으므로 명시 적으로 지정해야합니다.

+0

지금까지 오류가 나타나지 않아서 정말 빨리 디버그하고 다시 돌아올 수 있었지만 지금까지는이 기능이 작동했습니다! : D – 1Poseidon3

+0

@lae에 의해 주어진 답은 맞지만 내 경험을 공유하고 싶습니다. 일반적으로 좋은 깨끗한 제네릭 팩토리 메서드이므로 ImmutableList.copyOf() 정적 팩터 리 메서드를 사용합니다. –