String与Object相互转换

本文介绍了一种使用Java实现对象与字符串互相转换的方法。通过序列化和反序列化技术,将User对象转换为字符串,并能从字符串还原为原始对象。此过程涉及对象输出流和输入流的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java实现string与object对象的相互转换。

首先定义一个User类,如下:

class User implements Serializable{
public String name;
public String pwd;
public User(String name,String pwd){
	this.name=name;
	this.pwd=pwd;
}
}


注意,该类需要序列化,即实现serializable接口。

主体程序如下:

public class Utilty {
public static String objSerToStr(Object objArr) {
String val = null;
ByteArrayOutputStream bos = null;
try {
	bos = new ByteArrayOutputStream();
	ObjectOutputStream oos = new ObjectOutputStream(bos);
	oos.writeObject(objArr);
	oos.flush();
	oos.close();
	bos.close();
	val = new String(bos.toByteArray(), "ISO-8859-1");
} catch (Exception e) {
	e.printStackTrace();
}
return val;
}

public static Object strDeserToObj(String str) {
if (null == str) {
	return null;
}
Object objArr = null;
try {
	ByteArrayInputStream bis = new ByteArrayInputStream(
				str.getBytes("ISO-8859-1"));
	ObjectInputStream ois = new ObjectInputStream(bis);
	objArr = ois.readObject();
	bis.close();
	ois.close();
} catch (Exception e) {
	e.printStackTrace();
}
return objArr;
}

public static void main(String[] args) {
User user=new User("google","123");
String str=Utilty.objSerToStr(user);
System.out.println("对象转字符串:"+str);
User u=(User)Utilty.strDeserToObj(str);
System.out.println("name:"+u.name+",pwd:"+u.pwd);
}
}


程序运行截图如下:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值