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

为什么IntelliJ会抛出“重复代码片段(x行长)”警告?

漆雕亮
2023-03-14

我对IntelliJ IDEA是个新手,使用如下所示一行:

List<UUID> employeeUuidList = employeeService.findAllEmployeesByMainUuid(request.getMainUuid());

有趣的是,它给出了“重复的代码片段(19行长)”错误。我在web上看了一下,有一些建议抑制这个警告,但是我想了解这个警告的主要原因,并在不改变设置的情况下通过代码端修复它。

如果您给出抑制此警告的建议也是可以的。

共有1个答案

许淳
2023-03-14

重复的代码片段(19行长)

这不是错误或警告。这只是intelliJ的一个亮点,那19行在其他地方重复。

您可能可以通过将这些重复行提取到一个公共方法来重构代码

如果要完全禁用它,请转到首选项>编辑器>重复或只需在首选项中搜索重复并取消选中该语言左侧的框。

 类似资料:
  • 问题内容: 考虑以下Java源代码: 该是。 为什么该语句有时会抛出? 谢谢。 问题答案: 线程安全 如果您的代码是多线程的,则有可能。例如: 如果在语句执行之后(但在循环之前)立即将另一个线程设置为,则您将获得一个。通过使用访问器(与延迟初始化结合使用)可以避免这种情况。 另外,如其他人所提到的,如果可能,请避免使用有利于泛型的此类循环构造。有关详细信息,请参见其他答案。 配件提供保护 如果始终

  • 我想了解为什么一段代码不会抛出NullPointerException。 请考虑以下代码: 方法被重复调用,同时以下代码在单独的线程中运行: 只有一个实例。 从不引发NullPointerException。 但是,当方法暂停时,即使暂停0毫秒,也会按预期引发NullPointerException: 我的理解是,在理论上,在检查和调用之间存在竞争条件。在实践中,如果不引入暂停(即从后续方法调用中

  • 从FindBugs错误描述中考虑以下内容 NP:保证取消引用空值(NP\u guaranted\u DEREF) 有一条语句或分支,如果执行该语句或分支,将保证此时某个值为null,并保证该值被取消引用(在涉及运行时异常的转发路径上除外)。 请注意,如果(x==null)这样的检查抛出新的NullPointerException();被视为x的解引用。 除了在涉及运行时异常的前进路径上是什么意思?

  • 在执行程序时,为了提供性能,处理器和编译器常常会对指令进行重排序,但是不能随意重排序,不是你想怎么排序就怎么排序,它需要满足以下两个条件: 在单线程环境下不能改变程序运行的结果; 存在数据依赖关系的不允许重排序 需要注意的是:重排序不会影响单线程环境的执行结果,但是会破坏多线程的执行语义。

  • 如果你注释掉的内部循环,它会抛出,这显然是因为我们对集合做了更改。 如果取消注释,为什么这个循环允许我们添加这两项?运行它需要一段时间(在奔腾CPU上)大约半分钟,但它不会抛出,有趣的是,它输出: 这有点出乎意料,但它表明我们可以改变,它实际上改变了集合。知道为什么会发生这种行为吗?