gpt4 book ai didi

java - Java 有没有报告向下转型的工具?

转载 作者:太空宇宙 更新时间:2023-11-04 08:28:52 25 4
gpt4 key购买 nike

想知道是否有一个报告工具(例如 PMD)可以报告 Java 代码中的向下转换。

最佳答案

使用自定义 PMD 规则可以轻松捕获所有类型转换:

import net.sourceforge.pmd.AbstractJavaRule;
import net.sourceforge.pmd.ast.ASTCastExpression;

public class CastRule extends AbstractJavaRule {

public CastRule() {
}

@Override
public Object visit(final ASTCastExpression node, final Object data) {
addViolation(data, node);
return super.visit(node, data);
}
}

不幸的是,如果它们是显式向上转换,它也会捕获向上转换。一些例子:

final Number myNumber = 5;
final Integer myInteger = (Integer) myNumber; // catched

final Number myNumber2 = (Number) myInteger; // catched
final Number myNumber3 = myInteger; // NOT catched

使用 PMD 只捕获沮丧看起来相当复杂。

检查this answer它还包含一些有关使用的详细信息。

关于java - Java 有没有报告向下转型的工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7944553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com