java怎样把string型数据转换为java object string型数据

Java数据类型转换(字符串与其它数据类型的相互转换)
,对数据类型之间的转换不是很在行,可能是当时学C时留下来的祸根。自己没事时看看,也同大家分享一下JAVA的数据类型转换。
类派生的所有类提供了toString()方法,即将该类转换为字符串。例如:
方法分别用于将字符型、整型、浮点型、双精度浮点型、短整型等类转换为字符串。代码如下所示:
方法转换为字符串
等数据类型,可以分别参考Byte, Short,Integer, Float, Double,
Long&类的parseXXX&方法。
、其它类型转换成字符串
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。java中Array/List/Map/Object与Json互相转换详解
JSON(Script Object Notation): 是一种轻量级的数据交换格式
一、JSON建构有两种结构:对象和数组
1、对象:对象在js中表示为&{}&扩起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。
2、数组:数组在js中是中括号&[]&扩起来的内容,数据结构为 [&java&,&javascript&,&vb&,...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。
经过对象、数组2种结构就可以组合成复杂的数据结构了。
二、具体形式
(1)一个对象以&{&(左括号)开始,&}&(右括号)结束。
(2)每个&名称&后跟一个&:&(冒号)
(3)&&名称/值& 对&之间使用&,&(逗号)分隔
例子:表示人的一个对象:
&姓名& : &大憨&,
&年龄& : 24
2、数组是值(value)的有序集合。
(1)一个数组以&[&(左中括号)开始,&]&(右中括号)结束。
(2)值之间使用&,&(逗号)分隔。
例子:一组学生
{&姓名& : &小明& , &年龄& : 23},
{&姓名& : &大憨& , &年龄& : 24}
说明:此Json对象包括了一个学生数组,而学生数组中的值又是两个Json对象。
说了这些基本了解json的数据结构了...
三、老样子上次demo
这时我的工程结构图:上面引用到的外部库大家网上搜索下载~
configdata.json:
[javascript]&
& & true, &
& & false, &
& & true &
Address类:
&* @Title: 创建Address实体类的POJO&
&* @Description: TODO(用一句话描述该文件做什么)&
&* @author Potter & &
上午10:16:03&
&* @version V1.0 & &
public class Address { &
& & private S//街道 &
& & private S//城市 &
& &//邮编 &
& & private S//第一个电话号码 &
& & private String telT//第二个电话号码 &
& & public Address() { &
& & public Address(String street, String city, int zip, String tel, String telTwo){ &
& & & & this.street = &
& & & & this.city = &
& & & & this.zip = &
& & & & this.tel = &
& & & & this.telTwo = telT &
& & public String getStreet() { &
& & public void setStreet(String street) { &
& & & & this.street = &
& & public String getCity() { &
& & public void setCity(String city) { &
& & & & this.city = &
& & public int getZip() { &
& & public void setZip(int zip) { &
& & & & this.zip = &
& & public String getTel() { &
& & public void setTel(String tel) { &
& & & & this.tel = &
& & public String getTelTwo() { &
& & & & return telT &
& & public void setTelTwo(String telTwo) { &
& & & & this.telTwo = telT &
JsonTest类:
import java.io.F &
import java.io.FileNotFoundE &
import java.io.FileR &
import java.io.IOE &
import java.util.ArrayL &
import java.util.LinkedHashM &
import java.util.L &
import java.util.M &
import net.sf.ezmorph.bean.MorphDynaB &
import net.sf.json.JSONA &
import net.sf.json.JSONF &
import net.sf.json.JSONO &
public class JsonTest { &
& & public static void main(String args[]) { &
& & & & //javaArray和json互相转换 &
& & & & javaArrayAndJsonInterChange(); &
& & & & System.out.println(&-------------------------------------&); &
& & & & //javaList和json互相转换 &
& & & & javaListAndJsonInterChange(); &
& & & & System.out.println(&-------------------------------------&); &
& & & & //javaMpa和Json互转 &
& & & & javaMapAndJsonInterChange(); &
& & & & System.out.println(&-------------------------------------&); &
& & & & //javaObject和jsonObject互转 &
& & & & javaObjectAndJsonInterChange(); &
& & &* javaArray和json互相转换&
& & public static void javaArrayAndJsonInterChange() { &
& & & & // java 转数组 &
& & & & boolean[] boolArray = new boolean[] { true, false, true }; &
& & & & JSONArray jsonArray = JSONArray.fromObject(boolArray); &
& & & & String s = jsonArray.toString(); &
& & & & System.out.println(s); &
& & & & // 通过json获取数组中的数据 &
& & & & String result = readJson(&configdata&); &
& & & & JSONArray jsonR = JSONArray.fromObject(result); &
& & & & int size = jsonR.size(); &
& & & & for (int i = 0; i & i++) { &
& & & & & & System.out.println(jsonR.get(i)); &
& & & & } &
& & &* javaList和json互相转换&
& & public static void javaListAndJsonInterChange() { &
& & & & List list = new ArrayList(); &
& & & & list.add(new Integer(1)); &
& & & & list.add(new Boolean(true)); &
& & & & list.add(new Character('j')); &
& & & & list.add(new char[] { 'j', 's', 'o', 'n' }); &
& & & & list.add(null); &
& & & & list.add(&json&); &
& & & & list.add(new String[] { &json&, &-&, &lib& }); &
& & & & // list转JSONArray &
& & & & JSONArray jsArr = JSONArray.fromObject(list); &
& & & & System.out.println(jsArr.toString(4)); &
& & & & // 从JSON串到JSONArray &
& & & & jsArr = JSONArray.fromObject(jsArr.toString()); &
& & & & // --从JSONArray里读取 &
& & & & // print: json &
& & & & System.out.println(((JSONArray) jsArr.get(6)).get(0)); &
& & &* javaMpa和Json互转&
& & public static void javaMapAndJsonInterChange() { &
& & & & Map map = new LinkedHashMap(); &
& & & & map.put(&integer&, new Integer(1)); &
& & & & map.put(&boolean&, new Boolean(true)); &
& & & & map.put(&char&, new Character('j')); &
& & & & map.put(&charArr&, new char[] { 'j', 's', 'o', 'n' }); &
& & & & // 注:不能以null为键名,否则运行报net.sf.json.JSONException: &
& & & & // java.lang.NullPointerException: &
& & & & // JSON keys must not be null nor the 'null' string. &
& & & & map.put(&nullAttr&, null); &
& & & & map.put(&str&, &json&); &
& & & & map.put(&strArr&, new String[] { &json&, &-&, &lib& }); &
& & & & map.put(&jsonFunction&, new JSONFunction(new String[] { &i& },&alert(i)&)); &
& & & & map.put(&address&, new Address(&P.O BOX 54534&, &Seattle, WA&, 42-3180&, &531-133-9098&)); &
& & & & // map转JSONArray &
& & & & JSONObject jsObj = JSONObject.fromObject(map); &
& & & & System.out.println(jsObj.toString(4)); &
& & & & &&
& & & & // 从JSON串到JSONObject &
& & & & jsObj = JSONObject.fromObject(jsObj.toString()); &
& & & & //第一种方式:从JSONObject里读取 &
& & & & // print: json &
& & & & System.out.println(jsObj.get(&str&)); &
& & & & // print: address.city = Seattle, WA & &
& & & & System.out.println(&address.city = & + ((JSONObject) jsObj.get(&address&)).get(&city&)); & &
& & & & &&
& & & & //第二种方式:从动态Bean里读取数据,由于不能转换成具体的Bean,感觉没有多大用处 &
& & & & MorphDynaBean mdBean = (MorphDynaBean) JSONObject.toBean(jsObj); &
& & & & // print: json &
& & & & System.out.println(mdBean.get(&str&)); &
& & & & //print: address.city = Seattle, WA & &
& & & & System.out.println(&address.city = & + ((MorphDynaBean) mdBean.get(&address&)).get(&city&)); & &
& & &* javaObject和jsonObject互转&
& & public static void &javaObjectAndJsonInterChange(){ &
& & & & Address address=new Address(&P.O BOX 54534&, &Seattle, WA&, 42-3180&, &531-133-9098&); &
& & & & //object转JSONObject &
& & & & JSONObject jsObj = JSONObject.fromObject(address); &
& & & & System.out.println(jsObj.toString(4)); &
& & & & &&
& & & & //JsonObject转java Object &
& & & & &&
& & & & Address addressResult=(Address) JSONObject.toBean(jsObj, Address.class); &
& & & & System.out.println(&address.city = &+ addressResult.getCity()); &
& & & & System.out.println(&address.street=&+addressResult.getStreet()); &
& & & & System.out.println(&address.tel = &+ addressResult.getTel()); &
& & & & System.out.println(&address.telTwo=&+addressResult.getTelTwo()); &
& & & & System.out.println(&address.zip=&+addressResult.getZip()); &
& & &* 读取json文件&
& & &* @param fileName 文件名,不需要后缀&
& & &* @return&
& & public static String readJson(String fileName) { &
& & & & String result = &
& & & & try { &
& & & & & & File myFile = new File(&./config/& + fileName + &.json&); &
& & & & & & FileReader fr = new FileReader(myFile); &
& & & & & & char[] contents = new char[(int) myFile.length()]; &
& & & & & & fr.read(contents, 0, (int) myFile.length()); &
& & & & & & result = new String(contents); &
& & & & & & fr.close(); &
& & & & } catch (FileNotFoundException e) { &
& & & & & & e.printStackTrace(); &
& & & & } catch (IOException e) { &
& & & & & & e.printStackTrace(); &
& & & & } &java对象转换String类型的三种方法
字体:[ ] 类型:转载 时间:
在很多情况下我们都需要将一个对象转换为String类型。一般来说有三种方法可以实现:Object.toString()、(String)Object、String.valueOf(Object)。下面对这三种方法一一分析
一、采用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!!!
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具2005年11月 Java大版内专家分月排行榜第二
2007年6月 Java大版内专家分月排行榜第三2005年12月 Java大版内专家分月排行榜第三
2007年11月 Oracle大版内专家分月排行榜第二2007年10月 Oracle大版内专家分月排行榜第二
2005年11月 Java大版内专家分月排行榜第二
2007年6月 Java大版内专家分月排行榜第三2005年12月 Java大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 java object 转string 的文章

 

随机推荐