gpt4 book ai didi

java - 在声明部分使用 @SuppressWarnings ("unused") 注释

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

我有一个与 @SuppressWarnings("unused") 注释相关的基本问题。基本上,我想在我类(class)的声明部分中的一段代码中抑制未使用的警告。我不希望在整个类(class)中隐藏未使用的警告。

目前,我正在这样做:

public class MyClass {
//Constants
private final String ACCEPT = "Yes";
@SuppressWarnings("unused")
private final String DENY = "No"; //Not currently used
private final String TENTATIVE = "Maybe";
@SuppressWarnings("unused")
private final String POSTPONE = "Later"; //Not currently used

//Variables
private int counter;
....

我发现上面的代码对于像这样随机抛出的注释有点困惑。我想做的是:

//Constants
@SuppressWarnings("unused")
{
private final String ACCEPT = "Yes";
private final String DENY = "No"; //Not currently used
private final String TENTATIVE = "Maybe";
private final String POSTPONE = "Later"; //Not currently used
}

//Variables
private int counter;
....

当然,这在 Java 中是非法的,因为不能像这样简单地制作 block 。这没什么大不了的,但我很好奇我是否遗漏了一个明显而优雅的解决方案。

最佳答案

如果您确实想要保留所有这些未使用的常量,一个快速而肮脏的技巧是;

public class MyClass {
//Variables
private int counter;

@SuppressWarnings("unused")
private static final class UnusedConstants{
private final String ACCEPT = "Yes";
private final String DENY = "No";
private final String TENTATIVE = "Maybe";
private final String POSTPONE = "Later";
}
}

我也会将它们设为静态,但你来电。

编辑:或者,我认为更好的是:

public class MyClass {

private enum Answer {

ACCEPT ("Yes"),
DENY ("No"),
TENTATIVE("Maybe"),
POSTPONE("Later");

private final String answer;

private Answer(String answer) {
this.answer = answer;
}

public String toString() {
return answer;
}
}
}

这样,只要您至少使用其中一个值,就不会收到未使用的警告。

关于java - 在声明部分使用 @SuppressWarnings ("unused") 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12645815/

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