number_before_type_cast
全部标签 关于规则鱿鱼:不应使用S109魔数(MagicNumber)Java中枚举的构造函数中不应该允许有数字吗?在我看来,下面的代码不应该违反规则。publicenumColor{RED(42),GREEN(123456),BLUE(666);publicfinalintcode;Color(intcolorCode){this.code=colorCode;}}我正在使用Sonarjava插件版本3.3 最佳答案 3.4版本会修复在SonarSource上查看此问题:http://jira.sonarsource.com/browse/
我找到了这段代码:ClassenumClass=Class.forName(Charsets.class.getName()).asSubclass(Enum.class);我想用Lombok重构它,但是发生了意想不到的事情。当我将其更改为:valenumClass=Class.forName(Charsets.class.getName()).asSubclass(Enum.class);我遇到了这个错误:令人惊讶的是代码编译良好,并且使用它的测试通过了。我不确定这是Lombok插件、IDE中的错误还是我做错了什么。Lombok不应该能够轻松推断出变量的正确类型吗?我的问题是:我可以
是否可以通过编程方式查询任务队列API以查看当前有多少任务正在执行/待处理?我在API中看不到任何执行此操作的方法,因此我求助于在数据存储区中创建对象来表示排队的任务。运行时,任务会从数据存储中删除相应的条目。如您所想,这很容易不同步。实际上,如果能够简单地计算给定队列名称的队列中的任务数量,我会非常高兴。 最佳答案 遗憾的是,没有可用于获取有关任务队列的信息的API。但是,我相信团队在未来会考虑到这一点(一个用于获取我们当前在仪表板上看到的统计信息的编程接口(interface),例如任务计数)。
我最近刚从JDK1.6切换到JDK1.7。我有这个代码:SomeClasssomeVariable=newSomeClass(createSomeObject());现在我收到警告:Redundantspecificationoftypearguments如果我使用快速修复Eclipse给我这个:SomeClasssomeVariable=newSomeClass(createSomeObject());结果是Gotanexception-expectingEOF,found'xyz'xyz是我的代码文本中的下一项。当我删除尖括号时,我收到此警告:SomeClassisarawtype
在配置Eclipse4.2.0执行null分析时(配置使用@javax.annotation.Nonnull等),下面的代码会产生警告Nulltypesafety:Theexpressionoftypeintneedsuncheckedconversiontoconformto'@NonnullInteger'classC{staticvoidfoo(inti){bar(i);//Warning}staticvoidbar(@javax.annotation.NonnullIntegeri){}}我该如何解决这个问题(不使用@SuppressWarnings("null"))?分析器似
这个问题在这里已经有了答案:Calendar.before(Objectwhen),whyObject?(3个答案)关闭8年前。这对我来说是一个WTF时刻......我知道Java日期/日历类应该很糟糕,但为什么要这样做呢?这只会让引入细微的错误变得容易,还是我遗漏了什么?
我只是想知道是否有人知道标准Java编码约定中此特定项目背后的基本原理。Javacodingconventions说在类型转换后面放一个空格,像这样:ObjectmyObj=(Object)someThing;^它与C中的强制转换语法相同,它们后面从来没有空格:ObjectmyObj=(Object)someThing;^我认为这是因为强制转换是一元运算符。放一个空格就像这样:intx=++y;while(0...这不是您通常看到的东西:intx=++y;while(0这似乎是Java独有的,所以如果有人有任何见解,我很想听听。 最佳答案
我有一些遗留的Java代码定义了一个通用的payload变量在我控制之外的地方(即我不能改变它的类型)://JavacodeWrapperpayload=...我收到这样一个payload值作为我代码中的方法参数,并想将它传递给Scalacaseclass(到用作Actor系统的消息),但不要正确定义,这样我至少不会收到编译器警告。//stillJavacodeScalaMessagemsg=newScalaMessage(payload);这会给出编译器警告“类型安全:构造函数...属于原始类型...”Scala案例类定义为://ScalacodecaseclassScalaMess
是否可以根据子类Type动态识别T为返回类型?我想要如下内容:publicclassParent{publicTfoo(){return(T)this;}}publicclassChildextendsParent{publicvoidchildMethod(){System.out.println("childMethodcalled");}}然后调用:Childchild=newChild();child.foo().childMethod();没有像这样定义类型:Childchild=newChild();child.foo().childMethod();//compilesf
我得到以下建议:-@Before(value="@annotation(loggable)",argNames="joinPoint,loggable")publicvoidbefore(JoinPointjoinPoint,Loggableloggable){Classclazz=joinPoint.getTarget().getClass();MethodSignaturemethodSignature=(MethodSignature)joinPoint.getSignature();Methodmethod=methodSignature.getMethod();Stringm