`
Roader123
  • 浏览: 94161 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Object转为String的几种形式

阅读更多
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 是用来创建一个日期-时间格式化的方法。
分享到:
评论

相关推荐

    探讨Object转为String的几种简易形式详解

    以下是对几种常见转换方法的详细解释: 1. **`Object.toString()`** `Object`类是所有Java类的基类,它提供了`toString()`方法。默认情况下,`toString()`返回类名加@加哈希码的十六进制表示。如果你创建了一个...

    javascript object to json string

    在JavaScript中,我们可以使用`JSON.stringify()`方法将JavaScript对象转换成JSON字符串。 `JSON.stringify()`方法接受三个参数: 1. 需要转换的JavaScript对象或值。 2. (可选)一个转换函数,用于在转换过程中...

    怎么用int这个字符串把Object转换成int.pdf

    #### 如何将 Object 转换成 int 假设我们有一个 `Object` 对象,我们需要将其转换为 `int` 类型。这通常可以通过以下几种方式来实现: - **直接强制类型转换**:如果对象本身就是一个 `int` 或者 `Integer` 类型的...

    xml格式的字符串转换成List

    这篇博客“xml格式的字符串转换成List”提供了相关的方法和步骤,以下是对这个主题的详细讲解。 首先,理解XML字符串。XML字符串是由一系列标签、属性和内容组成的,这些元素按照特定的规则组织,用于描述数据的...

    这几种方式将前端的 对象转换成json ,再用 Json.stringify(list)

    下面我们将详细探讨几种常见的将前端对象转换为JSON并使用`JSON.stringify()`的方法。 1. **直接使用`JSON.stringify()`** `JSON.stringify()`是JavaScript内置的函数,用于将一个JavaScript值(对象或数组)转换...

    使用JSONArray.fromObject所需要的jar包

    5. **commons-beanutils-1.9.3-bin.zip**: Apache Commons BeanUtils库,版本1.9.3,提供了一组工具方法,使得操作JavaBeans属性变得更加简单,这对于将Java对象转换成JSON来说非常重要。 6. **commons-logging-1.2...

    Delphi中JSon SuperObject 使用数据集与JSON对象互转.docx

    Json SuperObject 是一种基于 Json 格式的 Object,它可以将数据集与 JSON 对象互转。使用 Json SuperObject,我们可以轻松地将数据集转换为 JSON 对象,也可以将 JSON 对象转换为数据集。 接下来,我们将详细介绍...

    使用Iterator模式将对象转成String.docx

    【Iterator模式】是一种设计模式,它提供了一种顺序访问聚合对象元素的方式,而又不暴露其底层表示。在Java中,Iterator接口是实现此模式的主要工具,它允许我们遍历任何集合,如ArrayList、LinkedList等,而无需...

    XML String 转成JSON

    XML(Extensible Markup Language)和JSON(JavaScript Object Notation)是两种常见的数据交换格式,广泛应用于Web服务和数据传输。XML以其丰富的结构化特性而著名,而JSON则以简洁、易于阅读和处理的特性受到青睐...

    (Java)json和String互转必备Jar包

    在Java编程中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得人和机器都能容易地读取和编写数据。JSON格式通常用于Web服务与客户端之间的数据传输,因为它的结构清晰,易于解析。然而,...

    Json数据转换成对象

    `ezmorph-1.0.6.jar`库主要用于对象的转换,虽然它不是直接处理JSON的,但在处理JSON转换成特定类型的数据时可能会用到,例如将JSON字符串中的数字转换为整数或浮点数。 4. **Commons Logging**: `commons-...

    将string解析为json的几种方式小结

    在处理数据的过程中,经常会遇到需要将字符串(string)转换成JSON格式的情况。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在JavaScript中,可以...

    java转json串的几种方法

    这种方式适合于数据结构已经以Map形式存在的场景。 3. **通过json字符串生成json串** 如果你有一个JSON格式的字符串,想解析成Java对象,可以使用`JSON.parseObject(jsonStr, YourClass.class)`。例如,如果你有...

    xml的几种方式的操作集锦大全

    本文将深入探讨XML的几种主要操作方式,帮助读者全面理解并掌握XML的应用。 1. **XML语法基础**: - **元素(Element)**:XML的核心组成部分,用来描述数据。每个元素由开始标签、内容和结束标签组成,如`<name>...

    java 转换成json必用包

    "java 转换成json必用包"指的是这些能够帮助完成这种转换的Java库。 主要的Java JSON转换库有以下几种: 1. **Jackson**:Jackson是Java中最流行的JSON库之一,由 FasterXML 维护。它提供了多种API,如`...

    ios demo,JSONString to NSDictionary,字符串JSON数据转换到字典数据

    在iOS开发中,数据交换和存储常常涉及到JSON(JavaScript Object Notation)格式,它是一种轻量级、易于读写的数据交换格式。本示例“ios demo, JSONString to NSDictionary”聚焦于将JSON字符串转化为Objective-C中...

    js中int和string数据类型互相转化实例.docx

    在JavaScript中,将整型数值转化为字符串有以下几种常见方法: #### (1) 使用 `toString()` 方法 ```javascript var x = 100; var a = x.toString(); // a becomes "100" ``` #### (2) 使用空字符串连接操作符 `+...

    JSON的String字符串与Java的List列表对象的相互转换

    在前端JavaScript代码中,可以使用JSON对象的`JSON.stringify()`方法将JavaScript对象或数组转换成JSON字符串。例如,如果我们有一个数组`list`,其结构和数据类型已知,我们就可以直接使用`JSON.stringify(list)`将...

    cJSON库(json格式字符串进行转化)

    cJSON库则为C程序员提供了一种高效且易用的方式来解析和生成JSON格式的数据。 **1. cJSON库介绍** cJSON库由Dave Taylor开发,它是一个小巧的开源库,专门针对C语言设计,用于解析和生成JSON格式的数据。由于其轻...

Global site tag (gtag.js) - Google Analytics