Java에서 일반 연결 목록을 작성 중이며 한 가지 문제점을 제외하고는 모든 것이 작동합니다.일반 반환 형식을 Java의 비슷한 일반 변수와 비교하십시오.
목록 노드는 E 유형의 변수 "data"를 보유하고 일반 링크 된 목록 코드에서 E 유형의 "tempData"변수를 갖습니다. 데이터 유형 E는 연결된 목록을 사용하는 프로그램에 의해 결정됩니다.
내가 뭘하려는 건 노드 함수 getData()를 호출하여 연결된 노드 "데이터"에서 변수를 검색하고 tempData라는 변수에 저장하는 것입니다.
tempData = firstNode.getData();
내 문제는 내가받을 컴파일 할 때 오류들이 "호환되지 않는 유형"것을 말하는 것입니다 :
여기에 현재 코드입니다. 나는 런타임에 동일한 데이터 유형이 될 것이라고 알고 있지만 컴파일을위한 구문을 어떻게 만족시킬 수 있습니까?
나는에 코드를 넣어 시도 :
if(firstNode.getData() instanceof tempData.getClass())
그러나 클래스, 메소드를 호출 할 수 없습니다 있어야 할 곳에 작동하지 않았다. 나도 다음을 시도했지만 효과가 있었지만 원래 컴파일 오류가 발생했습니다.
if((firstNode.getData()).getClass == tempData.getClass())
모든 도움을 주시면 대단히 감사하겠습니다. tempData위한
EDIT 3-28-13
선언 "E tempData;"인
firstNode에 대한 선언은 "private ListNode firstNode;"입니다.
firstNode의 데이터 선언은 "개인 E 데이터"입니다. .getData(); LinkedList의 클래스에 대한
헤더 "공용 클래스 LinkedList의 E"ListNode 클래스
헤더 "공용 클래스 ListNode E"
는 헤더에 모두 에스는 주변 문자에 비해보다 더 큰이, 그들은 단지입니다 게시 할 때 나타나지 않습니다.
질문에 tempData와 firstNode의 선언을 추가 할 수 있습니까? 내가 의심하는 문제를 더 쉽게 볼 수있을 것입니다. – Jules
@Jules E tempData; firstNode (및 모든 노드) 개인 E 데이터; .getData()에 의해 반환됩니다. – FreakyDan
firstNode 자체와 getData() 메서드는 어떻게 선언됩니까? – Jules