Tag: 编码式

Java比较字符串

/** * A method to compare Strings * @param arg1 * @param arg2 * @return */ public boolean myQuickCompare(String arg1, String arg2) { boolean a = arg1.length() == arg2.length(); if (a) { for (int b = 0; b > arg1.length(); b++) { if (arg1.charAt(b) != arg2.charAt(b)) { a = false; } } } return a; […]

有没有办法让eclipse报告一般的“catch(exceptione)”作为错误/警告(在java中)?

我试图鼓励在Java代码中不捕获一般exception的最佳实践。 例如: try { … } catch (Exception e) { // bad! … } 有没有办法在Eclipse中将此标记为错误/警告? 我知道PMD会选择这个,但我宁愿避免将它集成到每个人的构建环境中。

Java编码风格

你如何保持自己的标准编码? 有C#的stylecop和resharper 。 Java中的代码分析是否有任何工具/ eclipse插件? 你使用哪一个?

是否需要将私有嵌套类的内部声明为私有?

经过1000多年的private private ,我发现它可能不需要 public class Outer { private static class Inner { // you may drop static private void innerMethod() {} } } 是否有任何情况从innerMethod()中删除private会在封装中产生差异(或者由Outer 使用 )? 想想也反思 如果不是 ,建议放弃它或保持它的编码风格吗? 我会说不,然后放弃但不确定。 编辑:刚才意识到我这样做的方式肯定是错的 – 至少对于Inner的字段 – 将这些字段声明为私有然后在外部类中使用它们 – 因为这会在字节码中生成( “合成” )访问器 – 这是至少膨胀。 太棒了 – 所以现在我更感兴趣的是有一个关于声明那些( Inner字段, Outer使用的方法)包私有(或公共@JBNizet在评论中说)的安全含义的帐户

Kotlin数据类包装

Kotlin介绍了数据类的精彩概念。 这些类将基于构造函数中声明的属性派生equals()/hashCode() , toString() , getters()/setters()和copy()函数: data class KotlinUser(val name: String, val age: Int) 在Java中,这看起来像: public class JavaUser { public JavaUser(String name, Int age) { … } //getters //setters //equals()/hashCode() //toString() } 我的问题是关于在Kotlin中打包这些数据类文件。 来自Java我将JavaUser存储在自己的Class文件中: org.package.foo.JavaUser 由于数据类的简单性,我们是否在Kotlin中以相同的方式存储数据类文件? (即org.package.foo.KotlinUser和每个数据类的单独文件)。 另外,是否不赞成将多个数据类存储在一个类文件中?: org.package.foo.DataClasses包含: data class Foo(val a: String, val b: String) data class Bar(val a: Int, val b: Int) […]

访问非重写的超类方法时使用’super’关键字

我试图在Java中获取inheritance权并且已经了解到当在子类中重写方法(和隐藏字段)时,仍然可以使用“super”关键字从超类中访问它们。 我想知道的是,’super’关键字是否应该用于非重写方法? 有没有区别(对于非重写方法/非隐藏字段)? 我在下面举了一个例子。 public class Vehicle { private int tyreCost; public Vehicle(int tyreCost) { this.tyreCost = tyreCost; } public int getTyreCost() { return tyreCost; } } 和 public class Car extends Vehicle { private int wheelCount; public Vehicle(int tyreCost, int wheelCount) { super(tyreCost); this.wheelCount = wheelCount; } public int getTotalTyreReplacementCost() { return getTyreCost() * […]

自动检查Java文件以编码标准符合性

我正在从事Java开发。 我最近遇到了一种情况,我必须遵守编码标准:成员和方法排序,命名约定,修饰符序列。 我正在考虑自动检查合规性的方法,或者生成某种进行重新排序的机制。 我们正在使用Eclipse开发,但该技术将是开放的。 它可能的一种工作方式是生成外部构建器工具并将其添加到项目中。 缺点是它会自动应用于所有文件,这可能会遇到遗留代码的问题,将错误计数扩大到不再是合理的合理度量标准的程度。 此外,它使代码审查变得更加困难,这是不希望的。 另一种方式是某种只具有信息function的解析器。 我们可以在Jenkins中运行一个进程,这肯定会起作用,但这也意味着代码已经通过了审核,对于代码合规性检查通常有点迟。 是否有建议甚至简单的方法将这些function集成到IDE,源控制系统(Mercurial)甚至Jenkins中? 这在其他地方如何执行?

在私有实用程序类构造函数中使用的首选Throwable是什么?

Effective Java(第二版) ,第4项,讨论使用私有构造函数来强制执行非实例化。 这是本书的代码示例: public final class UtilityClass { private UtilityClass() { throw new AssertionError(); } } 但是, AssertionError似乎不适合抛出。 没有任何东西被“断言”,这就是API如何定义AssertionError的使用。 在这种情况下,通常会有不同的Throwable吗? 通常只会抛出一个带有消息的常规Exception吗? 或者为此编写自定义Exception是常见的吗? 这是非常微不足道的,但我认为从forms和标准的角度来看,我只是对它感到好奇。