折腾:
【未解决】用Java代码解析104协议收到的数据
期间,用VSCode调试java代码期间,看到代码有警告:
src/refer/java/iec_analysis/src/main/java/com/iec/analysis/common/TypeIdentifier.java
public enum TypeIdentifier { private int code; private String hexStr; private String describe; TypeIdentifier(int code, String hexStr, String describe) { this.code = code; this.hexStr = hexStr; this.describe = describe; }
对此问题,如果像之前一样简单处理,则就是:直接删除此行
但是问题在于:
此变量在enum初始化时还要用到的
TypeIdentifier(int code, String hexStr, String describe) { this.code = code; this.hexStr = hexStr; this.describe = describe; }
所以又不能删除
看到有 快速修复,点击试试
Remove xxx, keep assignments with side effects
试试效果:
private int code; private String describe; TypeIdentifier(int code, String hexStr, String describe) { this.code = code; this.describe = describe; }
很明显,此时:
enum初始化时,变量hexStr,没有用到。
不过,去研究了下代码,还是尽量用到此处的hexStr
期间:
【已解决】Java中实现字符串格式化和拼接
去把代码改为:
private int code; private String hexStr; private String describe; TypeIdentifier(int code, String hexStr, String describe) { this.code = code; this.hexStr = hexStr; this.describe = describe; } public static String getDescribe(int code) throws UnknownTypeIdentifierException { for (TypeIdentifier value : TypeIdentifier.values()) { if (value.code == code) { // String idDesc = value.hexStr + " " + value.describe; String idDesc = String.format("%s %s", value.hexStr, value.describe); return idDesc; } } throw new UnknownTypeIdentifierException(); }
即可。
这样,就能利用上hexStr了。
转载请注明:在路上 » 【已解决】VSCode中java代码警告:The value of the field is not used