gpt4 book ai didi

java - Netbeans 警告类型转换太强,但如果删除转换会出错

转载 作者:行者123 更新时间:2023-11-30 08:24:32 25 4
gpt4 key购买 nike

这是代码片段:

    ByteBuffer buf = ByteBuffer.allocate(deleteInfo.size);
for(int j = 0; j < deleteInfo.size; j++)
buf.put(j,(byte)'.');

这是上面最后一行的警告:

Unnecessary cast to byte

我同意,但是当我移除类型转换时......

  buf.put(j, '.');

...这是错误:

incompatible types; possible lossy conversion from char to byte

我意识到 char 在 Unicode 中是两个字节,所以这肯定是错误的原因。在将 char 转换为 byte 的过程中,警告没有负面影响,因为我的所有数据都是 ASCII。 (我尝试对“.”使用实际的 ASCII 代码;结果相同。)

所以我可以安全地忽略错误,但我想“合法地”处理这个问题,而不是关闭或忽略警告机制。

提交问题页面上显示的所有主题都没有解决问题。 Google 找到了 getBytesSystem.getProperty("file.encoding") 返回“UTF-8”,我没有说我想使用该编码,但我不能查看如何将 getBytes("UTF-8")(或任何其他)应用到 buf

如何编写代码以避免警告?或者我应该把它写成一个如果我不做 Netbeans 怪癖就该做的该做的事?

最佳答案

您不一定需要添加代码来消除警告。

打开 NetBeans 并导航到工具 -> 选项 -> 编辑器。转到“提示”选项卡,选择 java 并打开“标准 Javac 警告”下拉菜单并取消选中“不必要的转换”框。

如果您使用的是 Mac,则所有步骤都相同,除了转到工具 -> 选项转到 NetBeans -> 首选项。

或者,您可以在要转换这些内容的方法上方添加 @SuppressWarnings("cast")

关于java - Netbeans 警告类型转换太强,但如果删除转换会出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22887218/

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