复制
收藏
提问
简洁

1、有一个用户类User,里面有如下属性:id、姓名、年龄、手机号,请基于xml方式创建类的对象以及为属性注入值。写出核心代码即可

2月前
全网
文档
学术
百科
知识库
时间不限
自动
回答简洁模式
深入研究一些

在Java中,使用XML来创建类的对象并为属性注入值通常涉及到使用XML解析库,如JAXB(Java Architecture for XML Binding)。以下是一个基于XML方式创建User类对象并注入属性值的核心代码示例:

import javax.xml.bind.annotation.*;
import java.util.List;

// 定义User类,使用JAXB注解
@XmlRootElement
public class User {
    // 使用注解标记属性,以便在XML中进行映射
    @XmlElement(name = "id")
    private int id;
    
    @XmlElement(name = "name")
    private String name;
    
    @XmlElement(name = "age")
    private int age;
    
    @XmlElement(name = "phone")
    private String phone;

    // 构造函数、getter和setter方法
    public User() {}

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }
    
    // toString方法,用于打印用户信息
    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", phone='" + phone + '\'' +
                '}';
    }
}

// 假设XML文件内容如下:
// <user>
//     <id>1</id>
//     <name>张三</name>
//     <age>30</age>
//     <phone>1234567890</phone>
// </user>

// 使用JAXBContext来创建一个Unmarshaller对象
JAXBContext jaxbContext = JAXBContext.newInstance(User.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();

// 从XML文件中反序列化User对象
User user = (User) jaxbUnmarshaller.unmarshal(new File("user.xml"));

// 打印User对象信息
System.out.println(user);

请注意,上述代码是一个示例,实际使用时需要根据具体的XML结构和类定义进行调整。此外,还需要处理异常和错误情况,这里为了简洁起见没有展示。1256789

你觉得结果怎么样?

以上内容由AI搜集生成,仅供参考

在线客服