是否有一种可靠的方法将任何对象转换为字符串,然后再次转换为同一对象?我已经看到了一些示例,这些示例中的人们使用转换它们toString()
,然后将该值传递给构造函数以再次重建对象,但并非所有对象都具有这样的构造函数,因此该方法不适用于所有情况。有什么办法?
是的,这称为序列化!
String serializedObject = "";
// serialize the object
try {
ByteArrayOutputStream bo = new ByteArrayOutputStream();
ObjectOutputStream so = new ObjectOutputStream(bo);
so.writeObject(myObject);
so.flush();
serializedObject = bo.toString();
} catch (Exception e) {
System.out.println(e);
}
// deserialize the object
try {
byte b[] = serializedObject.getBytes();
ByteArrayInputStream bi = new ByteArrayInputStream(b);
ObjectInputStream si = new ObjectInputStream(bi);
MyObject obj = (MyObject) si.readObject();
} catch (Exception e) {
System.out.println(e);
}
问题内容: 我需要将JSONArray对象存储为字符串,然后检索该字符串并将其转换回JSONArray。 如果我做: 我会找回同一个物体吗? 我正在尝试将JSONArray存储在SQLite数据库中。 这就是我在看的东西。http://developer.android.com/reference/org/json/JSONArray.html#toString() 问题答案: 只要它是一个有效的
问题内容: 我需要在两台机器之间发送一些变量的值,并打算使用套接字来实现。我使用md5哈希算法作为发送数据的校验和,以确保正确传输数据。要执行md5哈希算法,我必须将数据转换为字节。我想同时传递变量的名称及其值。因为我有很多变量,所以我使用字典。 所以我想将类似的东西转换为字节? 换句话说,我有一个字典,里面有很多不同的数据类型,包括列表,列表又有多种不同的数据类型,我想将其转换为字节。然后在接收
问题内容: 我正在寻找将Java char数组转换为字节数组 而不创建中间体的方法,因为char数组包含密码。我查看了几种方法,但是它们似乎都失败了: 断言总是失败的(并且,至关重要的是,当在生产中使用该代码时,密码将被拒绝),但是print语句会打印出三次密码。为什么与和有所不同,却显得相同?我是否错过了空终止符之类的东西?我怎样做才能使转换和未转换工作? 问题答案: 问题是您使用构造函数,该构
问题内容: 如何将String对象转换为Date对象? 我想我需要做这样的事情: 任何帮助将不胜感激。 问题答案: SimpleDateFormat dateFormat = new SimpleDateFormat(“dd.MM.yyyy”); Date date = dateFormat.parse(“1.1.2001”); 有关详细信息,请参阅: SimpleDateFormat文档
标题说明了一切: null 编辑:工作示例要简单得多(多亏了@T.S.): 谢谢!
我们有一个旧表,其中日期字段以多种格式存储在VARCHAR2中。现在我们计划: 1) 将这些数据存储在具有适当日期字段的视图中。 2) 还以单一一致的格式(如MM/DD/YYYY)存储这些内容。 这是为#1所做的:创建一个函数,以便它可以解析VARCHAR2并将其转换为不同格式的DATE,例如: 对于#2,我们仍然需要将上述两个日期转换为MM/DD/YYYY,其中一个已采用此格式,因此我们需要先转