关掉javac警告

时间:2018-03-16 21:47:49

标签: java warnings compiler-warnings javac

我有一个问题: 我必须为我的学习创建一个项目。在要求中,我有一个信息,即应该在两个文件A.java和B.java中创建整个项目。

项目的问题很复杂,所以我创建了一些名为e.x的有用类。我的课。我把这个类放在A.java中 - 我不能使用另一个文件。

现在我的A.java看起来像那样:

public class A {
 // some logic
}

final class MyClass implements Comparable<MyClass> {
    //some logic    
}

在B.java中,我正在使用MyClass的对象,一切正常。

问题在于项目的第二个要求。 自动编译 - 在我将项目发送到我的大学之后 - 开始这样的过程:

javac -Xlint B.java A.java

编译成功,但我有一些警告:

B.java:17: warning: auxiliary class MyClass in A.java should not be accessed from outside its own source file
    private MyClass variable;

第三个要求是,如果您有任何警告或错误,您的项目将不会被评估。如果警告出现,我将失败我的项目。

我知道将两个类存储在一个文件中是非常愚蠢的,但这是不利的 - 这里一切都很愚蠢......

那么 - 是否有任何解决方案可以在使用javac进行编译时关闭警告? 我试过这个:

@SuppressWarnings("all")
final class MyClass implements Comparable<MyClass> {

但它不起作用 - 我仍然收到警告......

有什么想法吗? :)

1 个答案:

答案 0 :(得分:3)

MyClass放入A

public class A {
 // some logic

  static final class MyClass implements Comparable<MyClass> {
      //some logic    
  }
}

并从另一个文件中将其称为A.MyClass

或者导入它(假设A不在默认包中),并将其称为MyClass

或者在自己的文件中定义它将是显而易见的选择;但是你说你做不到。