java个人小结常见错误.docVIP

  • 5
  • 0
  • 约3.85千字
  • 约 4页
  • 2017-03-05 发布于重庆
  • 举报
空指针异常(NullPointException): 描述、;对于允许其值为null的变量,在对其操作前,需要预先判断其是否为null。 短路表达式的运用。 if (member == null || member.getName().equals(myname)) { } 避免equals抛出NPE if (myconstant.equals(str)) { // 而不是str.equals(myconstant) } 利用StringUtil判断空字符串 if (StringUtil.isEmpty(str)) { } Serializable对象 Serializable是一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才是可序列化的。将对象流化,是用来实现网络传输。 序列化的作用:a)当把的内存中的对象写入到硬盘的时候; b)当用套接字在网络上传送对象的时候; c)当通过RMI(remote method invocation 远程的方法调用)传输,发送消息 给远程对象时,就需要用到serializaiton机制来发送参数和接收返回值。 eg.在计算机A中调用另一台计算机B的对象的方法,那么你需要通过JNDI服务 获取计算机B目标对象的引用,将对象从B传送到A,就需要实现序列化接口. 注意: 1.串行化只能保存对象的非静态成员交量,不能保存任何的成员方法和静态的成员变量,而且串行化保存的只是变量的值,对于变量的任何修饰符都不能保存。 2.所有Serializable对象必须设置serialVersionUID,除非特殊情况。 eg. public class MyClass implements Serializable { private static final long serialVersionUID = -6849794470754667710L; ....... } 3.Eclipse自动生成Serializable对象 Finally中释放资源 描述:在finally中释放资源 —— 数据库连接、打开的文件等 eg.// 关闭文件 OutputStream ostream = null; try { ostream = new FileOutputStream(file); ostream.write(…); } finally { if (ostream != null) { try { ostream.close(); } catch (IOException e) { } } } // 关闭数据库连接 Connection conn = getConnection(); try { … } finally { conn.close()} 避免硬编码URL、文件路径 描述:由于URL、文件路径等资源的不确定性,应避免在程序中硬编码这些内容。 错误代码eg. // 取得普通文件 File file = new File(c:\\myfile.txt); // 取得webapp中的文件 File webResource = new File(servletContext.getRealPath(/) + /myfile.txt); // 取得URL URL url = new URL(/myapp); 正确代码 // 用ResourceLoaderService统一装载普通文件和webapp中的文件 File file = resourceLoaderService.getResourceAsFile(/myfile.txt); Resource webResource = resourceLoaderService.getResource(/myfile.txt); // 用URIBrokerService生成URL URIBroker uri = uriBrokerService.getURIBroker(myurl, rundata); 拼装字符串 描述:用StringBuffer,而不能用+或+=操作符来拼装大量字

文档评论(0)

1亿VIP精品文档

相关文档