接口中的方法及属性尽量不要加任何修饰符(publish也不加),用来保持代码的整洁,多加javadoc注释。
当需要用到字符串的连接时,建议使用StringBuffer的append方法。
OOP规约
(1)避免通过一个类的对象引用该类的静态变量或静态方法,这样可以不用增加编译器解析成本,直接用类名调用就行了;
(2)所有覆写的方法,都必须用@override注解;
(3)Object的equals方法容易空指针异常,所以尽量要用“test”.equals(Object);
(4)包装数据类型
POJO类属性必须使用包装类型
RPC的返回类型必须使用包装类型
(5)POJO类必须写toString()方法, 使用IDEA中的source->generator toString()时,如果继承了另一个类,注意在前面加个super.toString();
补:当方法执行出现异常时,可以调用该POJO类的toString()打印。
(6)使用索引访问由split方法得到的数组时,最后判断一下最后一个分隔符有无内容,以免IndexOutOfBoundsException异常。
e.g String str=”2,1,3,5,4,,”;
String[] obj=str.split(“,”);
在java.lang包中有String.split()方法的原型是:
public String[] split(String regex, int limit)
split函数是用于使用特定的切割符(regex)来分隔字符串成一个字符串数组,函数返回是一个数组。在其中每个出现regex的位置都要进行分解。
需要注意是有以下几点:
(1)regex是可选项。字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
(2)limit也是可选项。该值用来限制返回数组中的元素个数。
(3)要注意转义字符:“.”和“|”都是转义字符,必须得加”\”。同理:*和+也是如此的。
如果用“.”作为分隔的话,必须是如下写法:
String.split(“\.”),这样才能正确的分隔开,不能用String.split(“.”);
如果用“|”作为分隔的话,必须是如下写法:
String.split(“\|”),这样才能正确的分隔开,不能用String.split(“|”);
(4)如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“acountId=? and act_id =? or extra=?”,把三个都分隔出来,可以用
String.split(“and|or”);
总结:
当字符串只包含分隔符时,返回数组没有元素;
当字符串不包含分隔符时,返回数组只包含一个元素(该字符串本身);
字符串最尾部出现的分隔符可以看成不存在,不影响字符串的分隔;
字符串最前端出现的分隔符将分隔出一个空字符串以及剩下的部分的正常分隔;