Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java 字符串转对象

作者:二分醒amor   发布日期:2026-03-28   浏览:68

// 示例代码:将字符串转为对象

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

public class StringToObjectExample {

    // 定义一个简单的可序列化的类
    public static class Person implements Serializable {
        private static final long serialVersionUID = 1L;
        private String name;
        private int age;

        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }

        @Override
        public String toString() {
            return "Person{name='" + name + "', age=" + age + "}";
        }
    }

    // 将对象转换为字符串
    public static String objectToString(Serializable obj) throws Exception {
        try (ByteArrayOutputStream baos = new ByteArrayOutputStream();
             ObjectOutputStream oos = new ObjectOutputStream(baos)) {
            oos.writeObject(obj);
            return baos.toString("ISO-8859-1");
        }
    }

    // 将字符串转换为对象
    public static Object stringToObject(String str) throws Exception {
        try (ByteArrayInputStream bais = new ByteArrayInputStream(str.getBytes("ISO-8859-1"));
             ObjectInputStream ois = new ObjectInputStream(bais)) {
            return ois.readObject();
        }
    }

    public static void main(String[] args) {
        try {
            // 创建一个对象
            Person person = new Person("Alice", 30);

            // 将对象转换为字符串
            String serializedString = objectToString(person);
            System.out.println("Serialized String: " + serializedString);

            // 将字符串转换回对象
            Person deserializedPerson = (Person) stringToObject(serializedString);
            System.out.println("Deserialized Object: " + deserializedPerson);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

解释说明:

  1. 定义一个可序列化的类Person 类实现了 Serializable 接口,以便它可以被序列化和反序列化。
  2. objectToString 方法:将对象转换为字符串。使用 ByteArrayOutputStreamObjectOutputStream 来序列化对象,并将其编码为字符串。
  3. stringToObject 方法:将字符串转换为对象。使用 ByteArrayInputStreamObjectInputStream 来反序列化字符串并恢复对象。
  4. main 方法:演示了如何创建一个 Person 对象,将其序列化为字符串,再从字符串中反序列化回对象。

这种方式可以实现将 Java 对象与字符串之间的相互转换。

上一篇:java 时间戳转localdatetime

下一篇:java void

大家都在看

java url decode

java判断是windows还是linux

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java list 查找

java 解压rar

java读取excel中的图片

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站