当前位置: 首页 > 知识库问答 >
问题:

类不变

和弘博
2023-03-14

我遇到了一个奇怪的问题。一旦我更改了<代码>。java文件——看起来测试仍然使用该文件的先前版本(< code >)。类)。

在我看来,该类应该从 .build 文件夹中删除,并从新版本的 .java 文件重新编译,但这只有在我从 Gradle 手动启动构建时才会发生。

我可以在更改时打开. java文件的自动重建解决方案吗?或者我可以在没有gradle的情况下执行此事件吗?我正在使用Intellij Idea。

共有1个答案

郭瀚海
2023-03-14

我想您需要使缓存无效。在intellij idea“文件/使缓存无效”中

 类似资料:
  • 问题内容: 我正在尝试学习可变/不可变的类,而我遇到了这篇文章 提供的部分答案是: 如果要强制不变性,则不能有子类。例如,请参见java.lang.String,由于这个原因,它是最终类:为了防止人们将String子类化以使其可变。 好的,我了解, 但是 ,您将如何处理此问题。假设您的任务是创建3个Employee类,Accountant,ITDepartment和QualityAssurance

  • 问题内容: 我找到了一篇有趣的代码文章: 我真的很好奇了解创建此类的优势。我知道这里的此类对象是不可变的,因为一旦初始化就无法更改其变量值。我以前从未做过这样的事情,而且我真的不了解它的优势。 为什么是个好习惯? 您能说出可以使用这种方法的情况吗? 常量或只读变量呢?那不是很相似吗? 在文章中说,这不利于应用程序的性能。 但是为什么 呢? 问题答案: 您提到的示例是不可变对象。它在编程语言中被广泛

  • 我试图编译一个从SourceForge得到的仍在开发中的项目。这是它的地址:。https://sourceforge.net/p/groove/code/5475/tree/groove/trunk/我知道这个项目经过了很好的验证,它没有任何错误,但是当我要编译它的时候,我遇到了这个编译错误: 错误在这个文件的第370行:https://sourceforge.net/p/groove/code/

  • 问题内容: 我有以下课程: 这可以按预期工作(使用字符串的单词而不是字母来初始化集合)。但是,当我想对set的不可变版本执行相同操作时,该方法似乎被忽略: 我可以达到类似的目的吗? 问题答案: 是的,您需要重写特殊方法: 输出为:

  • 我有以下查询,我正在研究Java不可变类的概念,并得出以下分析。。 所有字段必须是私有的,最好是最终的 确保类不能被覆盖-使类成为最终类,或者使用静态工厂并保持构造函数私有 字段必须从构造函数/工厂填充 不要为字段提供任何setter 小心收集。使用Collections.unmodifiable*。 此外,集合应该只包含不可变对象 所有getter必须提供不可变对象或使用防御性复制 不要提供任何

  • 问题内容: 我对什么是不可变类型感到困惑。我知道该float对象被认为是不可变的,在我的书中有这样的例子: 由于类的结构/层次结构,这是否被认为是不可变的?意思float是在类的顶部,是它自己的方法调用。类似于此类示例(即使我的书说的dict是可变的): 可变的东西在类内部具有方法,例如以下类型: 另外,对于最后一个,如果我将这种类型的set传递给它: 不调用该example方法,它返回一个字典。