Java基本知识运用中的小问题
2016-06-17 13:59
381 查看
1.Object转为String的几种形式
方法1:采用 Object.toString()方法
请看下面的例子:
Object object = getObject();
System.out.println(object.toString());
在这种使用方法中,因为java.lang.Object类里已有public方法.toString(),所以对任何严格意义上的java对象都可以调用此方法。但在使用时要注意,必须保证object不是null值,否则将抛出NullPointerException异常。采用这种方法时,通常派生类会覆盖Object里的toString()方法。
方法2:采用类型转换(String)object方法
这是标准的类型转换,将object转成String类型的值。使用这种方法时,需要注意的是类型必须能转成String类型。因此最好用instanceof做个类型检查,以判断是否可以转换。否则容易抛出CalssCastException异常。此外,需特别小心的是因定义为Object 类型的对象在转成String时语法检查并不会报错,这将可能导致潜在的错误存在。这时要格外小心。如:
Object obj = new Integer(100);
String strVal = (String)obj;
在运行时将会出错,因为将Integer类型强制转换为String类型,无法通过。但是,
Integer obj = new Integer(100);
String strVal = (String)obj;
如是格式代码,将会报语法错误。
此外,因null值可以强制转换为任何java类类型,(String)null也是合法的。
方法3:采用String.valueOf(Object)
String.valueOf(Object)的基础是Object.toString()。但它与Object.toString()又有所不同。在前面方法1的分析中提到,使用第一种时需保证不为null。但采用第三种方法时,将不用担心object是否为null值这一问题。
2.
判断一个字符串为空
s为一个字符串,判断它为空的方法:
if (null==s ||"".equals(s)) {
......
}
注意:这里的null==s和"".equals(s)不要写成s==null和s.equals(s),因为""这个值是已经确定的,预知的,而s是未知的,所以用得不小心的时候s.equals("")就会出现nullpoint异常。在这里虽然不会,因为前面有if(null==s),但是习惯跟在那里使用没有关系的。不一定的equals方法,包括其它很多处理,如果用确定的值处理问题会比未确定的处理少很多bug。
方法1:采用 Object.toString()方法
请看下面的例子:
Object object = getObject();
System.out.println(object.toString());
在这种使用方法中,因为java.lang.Object类里已有public方法.toString(),所以对任何严格意义上的java对象都可以调用此方法。但在使用时要注意,必须保证object不是null值,否则将抛出NullPointerException异常。采用这种方法时,通常派生类会覆盖Object里的toString()方法。
方法2:采用类型转换(String)object方法
这是标准的类型转换,将object转成String类型的值。使用这种方法时,需要注意的是类型必须能转成String类型。因此最好用instanceof做个类型检查,以判断是否可以转换。否则容易抛出CalssCastException异常。此外,需特别小心的是因定义为Object 类型的对象在转成String时语法检查并不会报错,这将可能导致潜在的错误存在。这时要格外小心。如:
Object obj = new Integer(100);
String strVal = (String)obj;
在运行时将会出错,因为将Integer类型强制转换为String类型,无法通过。但是,
Integer obj = new Integer(100);
String strVal = (String)obj;
如是格式代码,将会报语法错误。
此外,因null值可以强制转换为任何java类类型,(String)null也是合法的。
方法3:采用String.valueOf(Object)
String.valueOf(Object)的基础是Object.toString()。但它与Object.toString()又有所不同。在前面方法1的分析中提到,使用第一种时需保证不为null。但采用第三种方法时,将不用担心object是否为null值这一问题。
2.
判断一个字符串为空
s为一个字符串,判断它为空的方法:
if (null==s ||"".equals(s)) {
......
}
注意:这里的null==s和"".equals(s)不要写成s==null和s.equals(s),因为""这个值是已经确定的,预知的,而s是未知的,所以用得不小心的时候s.equals("")就会出现nullpoint异常。在这里虽然不会,因为前面有if(null==s),但是习惯跟在那里使用没有关系的。不一定的equals方法,包括其它很多处理,如果用确定的值处理问题会比未确定的处理少很多bug。
相关文章推荐
- springMVC入门配置及helloworld实例
- Struts2表单验证、模型驱动、防重复提交、数据回显笔记整理
- 使用JMF(Java Media Framework)使用电脑摄像头 何天贵 何天贵 发布时间: 2013/05/24 16:18 阅读: 9873 收藏: 14 点赞: 1 评论: 3 JMF(J
- Disconf(二)disconf-web
- Java实现二叉树遍历(递归,非递归)
- Java Security:Java加密框架(JCA)简要说明
- Eclipse中已安装的插件如何卸载
- Spring多利模式 注解@Scope("prototype")和xml配置scope="prototype"
- 用RxJava实现倒计时与踩坑
- 《java编程思想》--对象初始化和面向对象特性
- 记录一次线上,ss服务出现大面积不能响应请求:java.io.IOException: Broken pipe
- eclipse集成weblogic开发环境的搭建
- easyui的datagrid整合struts2,以及Ajax,实现局部刷新功能,并设置分页的实现---------投票案例
- java获取对象属性类型、属性名称、属性值
- spring mvc 入门系列之二--HelloWorld(注解版)
- 通用数据库查询分析器Java实现
- eclipse(修改注释作者名称)
- 第四章 Controller接口控制器详解 (4)——跟着开涛学SpringMVC
- Spring与Logback整合
- but no declaration can be found for element 'mvc:resources'(springmvc 常见错误)