我有一个实现注释的枚举,我收到了警告:注释类型A不应用作MyClass的超接口(interface)。@SuppressWarnings是否有处理此警告的值?我不想使用@SuppressWarnings("all"),我宁愿收到警告也不愿全部禁止。我正在使用Eclipse。 最佳答案 我相信@SuppressWarnings没有这样的值。如果有这样一个值,那么编译器会在警告的同时给你一个使用它的提示。因为它不存在,这可能意味着让您的枚举扩展注释不是一个好主意。如果您仍然想走那条路,那么我认为@SuppressWarnings("al
我有一个导入到AndroidStudio的Android应用程序。它包含一些Java库。到目前为止一切正常。以下方法:@SuppressWarnings("deprecation")privateDrawablegetDrawable(){if(Build.VERSION.SDK_INT>Build.VERSION_CODES.KITKAT_WATCH)returnactivity.getResources().getDrawable(R.drawable.separator_gradient,activity.getTheme());elsereturnactivity.getRes
我有一个返回值的静态方法MagicConstant.每次我访问我的代码中的方法时,我都会收到这样的警告:Mustbeoneof:Toast.LENGTH_SHORT,Toast.LENGTH_LONG当我将@SuppressWarnings("MagicConstant")添加到我想要访问返回Toast.LENGTH_SHORT或Toast.LENGTH_LONG的方法的方法时警告消失。但是每次我想使用我的静态方法时,我都必须添加这个suppresswarnings。这很烦人。有没有办法将此警告直接添加到返回两个值之一的方法中?我试过这个:@SuppressWarnings("Magi
谁能给我解释一下@SuppressWarnings和@SuppressLint之间的区别?我们什么时候应该使用一个而不是另一个?我已经阅读了文档,但仍然不明白其中的区别。使用示例/示例代码进行解释将不胜感激。谢谢。 最佳答案 实际上有两个lints:一个属于编译器,因此是特定于Java的,一个属于Google,是特定于Android的。如果您的警告是关于Java中不特定于Android的内容,它会被@SuppressWarnings抑制,如果它是特定于Android的,它会被@SuppressLint.AndroidLint警告此处
我使用classfordetectingemailaddresses它使用静态最终boolean值来配置匹配行为。自从我升级到Eclipse3.5后,我收到了关于死代码的警告,因为Eclipse注意到其中的一个分支无法到达:privatestaticfinalbooleanALLOW_DOMAIN_LITERALS=false;privatestaticfinalStringdomain=ALLOW_DOMAIN_LITERALS?rfc2822Domain:rfc1035DomainName;奇怪的是它对此很满意:privatestaticfinalStringdomain;stat
我从javadoc中看到@SuppressWarnings注释适用于TYPE,FIELD,METHOD,PARAMETER,CONSTRUCTOR,LOCAL_VARIABLE目标。为什么它不适用于PACKAGE?我有一些生成的代码,其中包含一些原始类型警告。我希望能够为生成的类添加一个package-info.java文件(在一个单独的物理目录中,但在同一个java包中),它告诉eclipse忽略来自包中生成的类。为什么不支持这个?是否有其他方法可以抑制整个包中的警告? 最佳答案 不允许在包级别抑制警告的原因在对旧错误报告(状态-
我有一个问题,因为我有点困惑(或者我没有注意到一些明显的事情)。假设我有一些包含很多类的源代码,这些类包含大量像这样定义的静态字段:publicfinalclassConverterTYPE{privatefinalstaticHashMapSTRING_MAP=newHashMap(){{put("A",newByte((byte)12));put("B",newByte((byte)13));}};}众所周知,静态字段不会被序列化。但是,Java(和Eclipse)提示“可序列化类没有声明long类型的静态最终serialVersionUID字段”。为什么他们不能注意到static
我正在通过获取用户的位置Locationlocation=LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);这行代码在一个方法中,在调用这个方法之前,我会检查Android运行时权限。仅当用户可以使用该权限时,我才调用此方法。代码运行良好。问题是AndroidStudio仍然在这一行显示错误,没有识别出我在调用此函数之前已经检查过。Callrequirespermissionwhichmayberejectedbyuser:codeshouldexplicitlychecktoseeifpermiss
我正在通过获取用户的位置Locationlocation=LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);这行代码在一个方法中,在调用这个方法之前,我会检查Android运行时权限。仅当用户可以使用该权限时,我才调用此方法。代码运行良好。问题是AndroidStudio仍然在这一行显示错误,没有识别出我在调用此函数之前已经检查过。Callrequirespermissionwhichmayberejectedbyuser:codeshouldexplicitlychecktoseeifpermiss
我们有一个Java项目。我们启用-Xlint(启用警告)和-Werrorjavac的(将警告视为错误)标志,以确保我们的代码没有警告。最近我们决定弃用一个类。问题是在某些情况下@SuppressWarnings("deprecation")根本不会抑制弃用警告,从而导致构建失败。以下是我遇到的用例列表:在其他未弃用的类中导入。在其他已弃用的类中导入。父类。类型参数。例如@SuppressWarnings("deprecation")publicclassFooextendsBar{...}但是,即使没有抑制,这个也没有警告:@DeprecatedpublicclassDeprecate