在 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...
,并使 Inst
的 Expression Type
为 long
,Expr
为 int
。
在当前文件中搜索,您会看到它会提取所有此类作业。如视频所述,继续将其转换为检查配置文件。希望这有帮助。
这是另一个使用 IntelliJ 的解决方案(感谢@Siddhartha)
此处设置:
这是警告:
在 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...
,并使 Inst
的 Expression Type
为 long
,Expr
为 int
。
在当前文件中搜索,您会看到它会提取所有此类作业。如视频所述,继续将其转换为检查配置文件。希望这有帮助。
这是另一个使用 IntelliJ 的解决方案(感谢@Siddhartha)
此处设置:
这是警告: