我不确定我做了什么,但我似乎把我的项目搞砸了,因为它工作得很好,构建、编译等都没有问题,但现在构建过程给了我这个错误:
java: unexpected type
required: variable
found: value
它的不同寻常之处在于,它引出了一个论点,我正在将它传递到一个图书馆类中,这个类是我编写的,并且已经在我几乎所有的项目中使用了近两年。
归结起来就是这个。。。库中的方法有如下两个参数:
public void myMethod(double width, double height) {
this.width = width;
this.height = height;
}
我这样调用这个方法:
MyClass myClass = new MyClass();
myClass.myMethod(200.0, 70.0);
当我点击错误链接时,它直接跳到我传递到参数中的第一个数字。因此,因为它说如果我这样做,它需要一个变量,所以我没有得到错误:
double w = 200;
double h = 70;
myClass.myMethod(w,h);
它正在抛出错误的这些代码行已经在这个项目中存在了几个月了,以前从未抛出过错误。事实上,它已经编译并运行了一整天,但突然之间就不是了。
另外,如果我创建一个新项目,使用相同的库,并将完全相同的代码行复制和粘贴到新项目中,它工作得很好...只有这个项目突然出现了这个错误,我不知道我做了什么导致它。
有人有什么想法吗?我在用IntelliJ。。。如果这很重要的话。
通常,当我在IntelliJ IDEA中遇到奇怪和无法解释的错误时,我会转到File
-
我最终通过创建一个新项目来“解决”这个问题,然后将我所有的类/资源等迁移到新项目。它现在构建、编译和运行都很好。然而,除了项目中的某种腐败之外,不知道还有什么问题?我可能会打电话给JetBrains,看看这是不是他们以前见过的东西。
编辑:
我终于找到了错误的原因,这肯定是IntelliJ的问题。
我有一个包含在项目模板中的类,其中类中的所有内容都声明为公共静态,以便项目中的任何其他类都可以使用这些资源。那堂课上有一句台词不知何故搞砸了。这就是它在损坏状态下的样子:
public static final String CSS_TABLE_VIEW = Objects.requireNonNull(resource) = Objects.requireNonNull(resource.getResource("StyleSheets/TableView.css")).toExternalForm();
这就是它应该看起来的样子:
public static final String CSS_TABLE_VIEW = Objects.requireNonNull(resource.getResource("StyleSheets/TableView.css")).toExternalForm();
错误被抛向完全不同的类中完全正常的代码,这些代码行也没有引用那个损坏的类。
我试图使缓存无效,我甚至完全删除了项目文件夹中除了src文件夹之外的所有内容,然后我创建了一个新的来自现有来源的项目,将其指向该项目文件夹,因为我知道IntelliJ必须完全重建其部分项目,错误仍然发生在未损坏的类中。
当我创建一个新项目,然后复制类时,新项目有它自己的受损类的副本,所以我没有复制它,这就是为什么创建新项目并将类复制到它解决问题的原因。
直到我走进每一堂课,看了所有的东西,我才发现那堂课上那条受损的线。
有趣的是,在我修复了那条线并构建了这个项目后,它构建得很好。然后,我做了命令Z来撤销修复,这样它就又被损坏了,但是当我构建项目时,建筑商抓住了我修复过的损坏的线路...
所以无效缓存不起作用,从源文件重建项目也不起作用。。。有一次我不得不修复错误,然后建设者从那一刻起发现了正确的问题。我怀疑,如果我让它受损,然后从源代码进行另一次重建,它很可能会重复同样的问题。
我还有一个JetBrains的案子要处理,所以我们会看看他们怎么说。
编辑#2:
在与Jet Brains的一名技术人员讨论后,我告诉他关闭这个案例,因为我基本上解决了这个问题,但他并不急于这样做,所以我保留了一份项目的副本,该副本被破坏到我可以解压缩一个文件的地方,并从源代码创建一个新项目,然后尝试构建该项目,该项目将在没有错误的类中抛出不明确的错误。
Jet Brains要求我提供一份我提供的已损坏项目的副本,他能够重新创建错误,并最终提交了一份bug报告,如果有人感兴趣,可以在这里查看和跟踪该报告。
由于某种原因,这段代码给出了编译错误,有人能解释为什么吗?
在第五行错误,Java抱怨位置是一个值而不是变量,请帮助
我有一张带有以下原型的桌子: 我想创建一个过程来插入具有特定长度的随机字符串,我写了以下内容: 这样说: 问题是它插入NULL作为NAME字段。 我的怀疑是,当同时循环终止时,对所做的更改超出了范围。 我还尝试使用如下的全局变量: 也在程序之外声明了,但没有发生什么特别的事情 感谢您的帮助<向你问好。
问题内容: 每当启动应用程序spring启动时,我都会收到以下错误。 申请开始失败 描述: com.base.model.AbstractDao中的现场会话需要找不到“ org.hibernate.SessionFactory”类型的Bean。 行动: 考虑在配置中定义类型为“ org.hibernate.SessionFactory”的bean。 我添加了我的应用程序的实现: POM.xml 应
问题内容: 这是我的代码。我要获取数据库中存在的所有表名和列名。现在我需要知道列的类型,例如其int或varchar或其他内容。在这方面有人可以帮助我吗?顺便说一句,这是C#。 问题答案: 一种方法是使用OleDbCommand.ExecuteReader读取找到的每个表的架构。 这样,您可以遍历DataSet的DataTable集合并获取列名称和列字段类型。 这样做可能是更好的方法,但是我认为这