From:
http://blog.csdn.net/J2EEWEIWEI/archive/2009/07/31/4398700.aspx
Object转为String的几种形式
在java项目的实际开发和应用中,常常需要用到将对象转为 String这一基本功能。本文将对常用的转换方法进行一个总结。常用的方法有Object.toString(),(String)要转换的对象,String.valueOf(Object)等。下面对这些方法一一进行分析。
方法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类型的值。[color=red][/color]使用这种方法时,需要注意的是类型必须能转成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值这一问题。为了便于说明问题,我们来分析一下相关的源代码。Jdk里 String.valueOf(Object)源码如下:
/**
* Returns the string representation of the Object argument.
*
* @param obj an Object.
* @return if the argument is null, then a string equal to
* "null"; otherwise, the value of
* obj.toString() is returned.
* @see java.lang.Object.toString()
*/
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
从上面的源码可以很清晰的看出null值不用担心的理由。但是,这也恰恰给了我们隐患。我们应当注意到,当object为null 时,String.valueOf(object)的值是字符串"null",而不是null!在使用过程中切记要注意。试想一下,如果我们用
if(String.valueOf(object)==null)
{
System.out.println(“传入的值是null!");
}
这样的语句将可能会发生什么问题。再想一下,向控制台输出时,在视觉上如下语句在执行的结果上有什么不同:
System.out.println(String.valueOf(null));
System.out.println(null);
我们看到的输出将是一模一样的东西:null,但它们意义相同吗?
判断一个字符串为空
s为一个字符串,判断它为空的方法:
if (null==s ||"".equals(s)) {
......
}
注意:这里的null==s和"".equals(s)不要写成s==null和s.equals(s),因为""这个值是已经确定的,预知的,而s是未知的,所以用得不小心的时候s.equals("")就会出现nullpoint异常。在这里虽然不会,因为前面有if(null==s), 但是习惯跟在那里使用没有关系的。不一定的equals方法,包括其它很多处理,如果用确定的值处理问题会比未确定的处理少很多bug。
String类型和Date类型的相互转换
将String转换为Date:
String s="2007-06-21 10:50:50";
java.text.SimpleDateFormat FormatDate = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date date = FormatDate.parse(s);//转成Date
将Date转换为String
String.valueOf(date);
Java如何获得系统时间
最近在学习Java,经常在工作中遇到一些小问题,Baidu之后,找到问题的解决方法,要记录下来呦,要不然,凭我的脑子,肯定不久就忘记了。呵呵。
想要获得系统时间,不要日期,只要时间,可是Baidu出来的都是带着日期和时间案的,没有单独只有时间的例子。琢磨了一会之后,找到问题的解决方法。
import java.util.Date;
import java.text.DateFormat;
Date now = new Date(); // Date()是java.util.Date类的构造方法
DateFormat d = DateFormat.getTimeInstance(); //getTimeInstance()获得的是不带日期的系统时间
String str = d.format(now);
System.out.println("Today is " + str);//输出
注:
1.Date now = new Date(); 这句中的Date()是java.util.Date类的构造方法,而不是java.sql里的类,所以要在前面加上import java.util.Date;而不是 import java.sql.Date;这里曾经因为犯了这种低级错误而导致编译出错。
2.DateFormat 中有 getTimeInstance、 getDateInstance 和 getDateTimeInstance 是用来创建一个日期-时间格式化的方法。
分享到:
相关推荐
以下是对几种常见转换方法的详细解释: 1. **`Object.toString()`** `Object`类是所有Java类的基类,它提供了`toString()`方法。默认情况下,`toString()`返回类名加@加哈希码的十六进制表示。如果你创建了一个...
在JavaScript中,我们可以使用`JSON.stringify()`方法将JavaScript对象转换成JSON字符串。 `JSON.stringify()`方法接受三个参数: 1. 需要转换的JavaScript对象或值。 2. (可选)一个转换函数,用于在转换过程中...
#### 如何将 Object 转换成 int 假设我们有一个 `Object` 对象,我们需要将其转换为 `int` 类型。这通常可以通过以下几种方式来实现: - **直接强制类型转换**:如果对象本身就是一个 `int` 或者 `Integer` 类型的...
这篇博客“xml格式的字符串转换成List”提供了相关的方法和步骤,以下是对这个主题的详细讲解。 首先,理解XML字符串。XML字符串是由一系列标签、属性和内容组成的,这些元素按照特定的规则组织,用于描述数据的...
下面我们将详细探讨几种常见的将前端对象转换为JSON并使用`JSON.stringify()`的方法。 1. **直接使用`JSON.stringify()`** `JSON.stringify()`是JavaScript内置的函数,用于将一个JavaScript值(对象或数组)转换...
5. **commons-beanutils-1.9.3-bin.zip**: Apache Commons BeanUtils库,版本1.9.3,提供了一组工具方法,使得操作JavaBeans属性变得更加简单,这对于将Java对象转换成JSON来说非常重要。 6. **commons-logging-1.2...
Json SuperObject 是一种基于 Json 格式的 Object,它可以将数据集与 JSON 对象互转。使用 Json SuperObject,我们可以轻松地将数据集转换为 JSON 对象,也可以将 JSON 对象转换为数据集。 接下来,我们将详细介绍...
【Iterator模式】是一种设计模式,它提供了一种顺序访问聚合对象元素的方式,而又不暴露其底层表示。在Java中,Iterator接口是实现此模式的主要工具,它允许我们遍历任何集合,如ArrayList、LinkedList等,而无需...
XML(Extensible Markup Language)和JSON(JavaScript Object Notation)是两种常见的数据交换格式,广泛应用于Web服务和数据传输。XML以其丰富的结构化特性而著名,而JSON则以简洁、易于阅读和处理的特性受到青睐...
在Java编程中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得人和机器都能容易地读取和编写数据。JSON格式通常用于Web服务与客户端之间的数据传输,因为它的结构清晰,易于解析。然而,...
`ezmorph-1.0.6.jar`库主要用于对象的转换,虽然它不是直接处理JSON的,但在处理JSON转换成特定类型的数据时可能会用到,例如将JSON字符串中的数字转换为整数或浮点数。 4. **Commons Logging**: `commons-...
在处理数据的过程中,经常会遇到需要将字符串(string)转换成JSON格式的情况。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在JavaScript中,可以...
这种方式适合于数据结构已经以Map形式存在的场景。 3. **通过json字符串生成json串** 如果你有一个JSON格式的字符串,想解析成Java对象,可以使用`JSON.parseObject(jsonStr, YourClass.class)`。例如,如果你有...
本文将深入探讨XML的几种主要操作方式,帮助读者全面理解并掌握XML的应用。 1. **XML语法基础**: - **元素(Element)**:XML的核心组成部分,用来描述数据。每个元素由开始标签、内容和结束标签组成,如`<name>...
"java 转换成json必用包"指的是这些能够帮助完成这种转换的Java库。 主要的Java JSON转换库有以下几种: 1. **Jackson**:Jackson是Java中最流行的JSON库之一,由 FasterXML 维护。它提供了多种API,如`...
在iOS开发中,数据交换和存储常常涉及到JSON(JavaScript Object Notation)格式,它是一种轻量级、易于读写的数据交换格式。本示例“ios demo, JSONString to NSDictionary”聚焦于将JSON字符串转化为Objective-C中...
在JavaScript中,将整型数值转化为字符串有以下几种常见方法: #### (1) 使用 `toString()` 方法 ```javascript var x = 100; var a = x.toString(); // a becomes "100" ``` #### (2) 使用空字符串连接操作符 `+...
在前端JavaScript代码中,可以使用JSON对象的`JSON.stringify()`方法将JavaScript对象或数组转换成JSON字符串。例如,如果我们有一个数组`list`,其结构和数据类型已知,我们就可以直接使用`JSON.stringify(list)`将...
cJSON库则为C程序员提供了一种高效且易用的方式来解析和生成JSON格式的数据。 **1. cJSON库介绍** cJSON库由Dave Taylor开发,它是一个小巧的开源库,专门针对C语言设计,用于解析和生成JSON格式的数据。由于其轻...