gpt4 book ai didi

Java找不到类的方法

转载 作者:行者123 更新时间:2023-11-30 02:28:07 26 4
gpt4 key购买 nike

我试图调用我自制的“Filter”类的方法,但编译器找不到该方法。

这有点棘手,因为我在 Eclipse 中编写代码,一切似乎都很好。但我必须将我的代码复制到另一个软件中并在那里编译。另一方面,这个编译器找不到我的方法。

我认为 Eclipse 编译器可能“允许”更多我什至没有意识到的错误。然而,另一个编译器却与它们作斗争。

以下是“其他”编译器打印的错误代码:

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

我不知道为什么我的类(class)不正确。正如上面所说,在 Eclipse 中一切正常。

CodeTest 类(精简到重要部分):

package tms;

import tms.Filter;
import java.util.*;

Filter filt = new Filter();
filt.setHasRemoved(true);//cannot be found

我的过滤器类:

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;
}
}

我真的不知道为什么这不起作用。有什么我看不到的错误吗?

最佳答案

这里:

C:\Program Files\Enomic\enomic-server\data\rules\testcompileboehmch\CodeTest.java:77: error: cannot find

package tms;

重点是:java 编译器期望 folder 结构类似于 package 结构。

所以你的问题是你的类存在于名为tms的目录中。

Eclipse 在这里工作也很奇怪。从这个意义上说:您想阅读 herethere例如。

不,Eclipse Java 编译器的工作方式与其他产品相比只有极少数细微的差别。请放心:作为新手,您遇到此类事情的可能性几乎为零。您的问题是由于您不了解 java 文件编译的基础知识而引起的。 (当您开始使用 Eclipse 等 IDE 学习编程时,这就是缺点 - IDE 向您隐藏了许多这些内容。然后,当您需要它时 - 您不知道发生了什么)。

关于Java找不到类的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45050475/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com