Ich versuche, eine Methode meiner selbst erstellten "Filter" -Klasse aufzurufen, aber der Compiler kann die Methode nicht finden.Java kann Methode der Klasse nicht finden
Es ist ein bisschen schwierig, weil ich meinen Code in Eclipse schreibe, wo alles in Ordnung scheint. Aber ich muss meinen Code in eine andere Software kopieren und dort auch kompilieren. Dieser Compiler kann meine Methode dagegen nicht finden.
Ich gehe davon aus, dass der Eclipse-Compiler möglicherweise mehr Fehler "erlaubt", von denen ich nicht einmal weiß. Der andere Compiler kämpft jedoch mit ihnen.
Hier ist, was die „anderen“ Compiler druckt als Fehlercode:
C:\Program Files\Enomic\enomic-server\data\rules\testcompileboehmch\CodeTest.java:77: error: cannot find symbol filt.setHasRemoved(true);
symbol: method setHasRemoved(boolean)
location: variable filt of type tms.Filter
Ich habe keine Ahnung, warum meine Klasse nicht korrekt ist. Wie oben in Eclipse gesagt, funktioniert alles gut.
Die Codetest-Klasse (Schnitt zum wichtigen Teil nach unten):
package tms;
import tms.Filter;
import java.util.*;
Filter filt = new Filter();
filt.setHasRemoved(true);//cannot be found
Meine Filterklasse:
package tms;
import java.util.ArrayList;
import java.util.List;
public class Filter {
private List<Object> remainingList;
private List<Object> removedList;
private Object typ;
private boolean hasRemoved;
public Filter()
{
this.remainingList = new ArrayList<Object>();
this.removedList = new ArrayList<Object>();
this.typ = new Object();
this.hasRemoved = false;
}
public Filter(List<Object> remaining, List<Object> removed, Object typ, boolean hasRemoved)
{
this.remainingList = new ArrayList<>();
if(remaining != null)
{
this.remainingList.addAll(remaining);
}
this.removedList = new ArrayList<>();
if(removed != null)
{
this.removedList.addAll(removed);
}
this.typ = typ;
this.hasRemoved = hasRemoved;
}
//Set-Methoden
public void setRemainingList(List<Object> list)
{
this.remainingList.clear();
this.remainingList.addAll(list);
}
public void setRemovedList(List<Object> list)
{
this.removedList.clear();
this.removedList.addAll(list);
}
public void setTyp(Object val)
{
this.typ = val;
}
public void setHasRemoved(boolean val)
{
this.hasRemoved = val;
}
//Get-Methoden
public List<Object> getRemainingList()
{
return this.remainingList;
}
public List<Object> getRemovedList()
{
return this.removedList;
}
public Object getTyp()
{
return this.typ;
}
public boolean getHasRemoved()
{
return this.hasRemoved;
}
}
Ich weiß wirklich nicht, warum das nicht funktioniert. Gibt es einen Fehler, den ich nicht sehen kann?
Überprüfen Sie Ihre Importe. –
Verwenden Sie die richtige 'Filter' Klasse? Z.B. ist der Import korrekt? Haben Sie 'Filter' definitiv neu kompiliert, seit Sie diese Methoden hinzugefügt haben? –
Haben Sie zwei Klassenversionen in Ihrem Klassenpfad? –