最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
java将对象转化为字符串的实例
时间:2016-07-13 编辑:简简单单 来源:一聚教程网
对象转换String类型的三种方法
一、采用Object.toString()
toString方法是java.lang.Object对象的一个public方法。在java中任何对象都会继承Object对象,所以一般来说任何对象都可以调用toString这个方法。这是采用该种方法时,常派生类会覆盖Object里的toString()方法。
但是在使用该方法时要注意,必须保证Object不是null值,否则将抛出NullPointerException异常。
二、采用(String)Object
该方法是一个标准的类型转换的方法,可以将Object转换为String。但是在使用该方法是要注意的是需要转换的类型必须是能够转换为String的,否则会出现CalssCastException异常错误。
Object o = new Integer(100);
String string = (String)o;
这段程序代码会出现java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String。因为将Integer类型强制转换为String类型,无法通过。
三、String.valueOf(Object)
上面我们使用Object.toString()方法时需要担心null问题。但是使用该方法无需担心null值问题。因为在使用String.valueOf(Object)时,它会判断Object是否为空值,如果是,则返回null。下面为String.valueOf(Object)的源码:
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
从上面我们可以看出两点:一是不需要担心null问题。二是它是以toString()方法为基础的。
但是一定要注意:当object为null时,String.valueOf(object)的值是字符串对象:"null",而不是null!!!
例子,
代码如下 | 复制代码 |
package test; public void setA(int a) { public void setB(int b) {
public static void main(String args[]){ 运行结果为:
|
可以看到,本来我是想输出a和b的值,但是结果的第三行却不是我们想要的结果。为什么呢?
Object中有一个toString()的方法,但不幸的是我们需要重写这个方法才能按照我们自己的意愿输出,将上面的程序稍作修改,即添加改写toString函数的代码:
代码如下 | 复制代码 |
public void setA(int a) { public void setB(int b) { public String toString(){ } public static void main(String args[]){ 运行的结果为:
|
1.简单的解析json字符串
首先将json字符串转换为json对象,然后再解析json对象,过程如下。
代码如下 | 复制代码 |
JSONObject jsonObject = JSONObject.fromObject(jsonStr); |
根据json中的键得到它的值
代码如下 | 复制代码 |
String name = jsonObject.getString("name"); |
2.将json字符串转换为java对象
同样先将json字符串转换为json对象,再将json对象转换为java对象,如下所示。
代码如下 | 复制代码 |
JSONObject obj = new JSONObject().fromObject(jsonStr);//将json字符串转换为json对象 |
将json对象转换为java对象
代码如下 | 复制代码 |
Person jb = (Person)JSONObject.toBean(obj,Person.class);//将建json对象转换为Person对象 |
3.将java对象转换为json字符串
先将java对象转换为json对象,在将json对象转换为json字符串
代码如下 | 复制代码 |
JSONObject json = JSONObject.fromObject(obj);//将java对象转换为json对象 String str = json.toString();//将json对象转换为字符串 |
完整代码如下:
代码如下 | 复制代码 |
package baz.parse; import java.util.ArrayList; import net.sf.json.JSON; public class ParseJson { }
public class Person { public Person(String name, int num, String sex, int age) {
public String getName() { public void setName(String name) { public int getNum() { public void setNum(int num) { public String getSex() { public void setSex(String sex) { public int getAge() { public void setAge(int age) {
package baz.cons;
import java.util.List; import baz.bean.Person;
} |
-
下一个: Struts2异常处理的使用例子
相关文章
- Python字典与字符串的互转实例 01-16
- SpringBoot测试配置属性与web启动环境解析 10-24
- vue中将el-switch值true、false改为number类型的1和0解析 10-24
- Vue中的路由配置项meta使用解读 10-24
- SpringBoot自定义bean绑定解析 10-24
- SpringBoot常用计量与bean属性校验和进制数据转换规则解析 10-24