在 Java 中,如何检测将 int 值设置为 long 变量的源

In Java, how detect source where int value was set to long variable

在 Java 中,是否有任何工具(IDE 或库)可以检测到(search/grep)一个 int 值被设置为一个 long 变量?

示例代码:

    public static void main(String[] args) {

        int intValue = Integer.MIN_VALUE;
        long longValue = Long.MIN_VALUE;

        // No compile error, How can I know all these codes in my project?
        longValue = intValue; 

    }

感谢您的任何建议

写的没问题,因为 int 可以转换为 long。

但是,反之则不然:long 不能转换为 int!

看着this video,我想通了:

在 IntelliJ 中,转到:

编辑 -> 查找 -> 结构搜索...

点击现有模板,然后在expressions

下选择assignments

这会在您的搜索模板框中为您提供 $Inst$ = $Expr$。现在打 Edit variables...,并使 InstExpression TypelongExprint

在当前文件中搜索,您会看到它会提取所有此类作业。如视频所述,继续将其转换为检查配置文件。希望这有帮助。

这是另一个使用 IntelliJ 的解决方案(感谢@Siddhartha)

此处设置:

这是警告: