2014-10-01 4 views
0

기존 작업 개체를 사용하여 작업의 템플릿 개체를 만들려고합니다. 내가 특별한 생성자를 사용할 때 나는 오류를 얻을 :다른 클래스를 사용하는 생성자 만들기

: 여기
TaskTemplate bean = new TaskTemplate(newTask); 

내가 전화 했어 생성자입니다 : 여기

incompatible types: Task cannot be converted to TaskTemplate

내가이을 TaskTemplate을 만들 사용하고 코드입니다
public TaskTemplate(Task task) { 
    this.setTitle(task.getTitle()); 
    this.setDate(task.getDate()); 
} 

하지만 개체가 만들어진 곳의 모든 속성을 설정하면 모든 것이 정상입니다.

TaskTemplate bean = new TaskTemplate(); 
bean.setTitle(newTask.getTitle()); 
bean.setDate(newTask.getDate()); 

왜 발생합니까?
어떻게 작업을 생성하고 템플릿을 생성하는 생성자를 만들 수 있습니까?

+0

'newTask'의 유형이 TaskTemplate이 아닌 Task인지 확실합니까? – Eran

+4

프로젝트를 다시 작성해야 할 경우가 있습니까? 이러한 오류는 컴파일 된 클래스가 소스 및 최근 변경 사항 (생성자 생성과 같은 경우)과 다를 때 발생할 수 있습니다. – Bohemian

+0

http://ideone.com/K1lvOZ? –

답변

0

프로젝트를 다시 빌드해야 할 가능성이 큽니다.

이러한 종류의 문제는 호출 코드가 사용중인 컴파일 된 클래스가보고있는 소스 코드와 구식이어서 최근 변경 (예 : 새 생성자 생성)이 존재하지 않을 때 큰 불만을 야기 할 때 발생할 수 있습니다 호출 코드의 관점에서.

코드를 작성할 때 대부분의 IDE가 자동으로 다시 빌드됩니다. IDE가 자동으로 빌드되도록 구성되었는지 확인하십시오. IDE를 사용하지 않는 경우 IDE를 사용하는 것이 좋습니다.

관련 문제