首页 > 解决方案 > 如何以数组的形式获取响应

问题描述

代码

package com;

public class Employee {

    private String name;

    private String empId;

    public Employee(String name, String empId) {
        super();
        this.name = name;
        this.empId = empId;
    }

    // equals and hashcode

}


package com;

import java.util.LinkedHashSet;
import java.util.Set;

public class TestEmp {

    public static void main(String[] args) {
        Employee emp1 = new Employee("Luke", "11");
        Employee emp2 = new Employee("Luke2", "12");

        Set<Employee> empSet = new LinkedHashSet<>();

        empSet.add(emp1);
        empSet.add(emp2);

        Object obj[] = empSet.toArray();

        System.out.println(obj);
    }

}

当我打印时,我得到的响应显示为[Ljava.lang.Object;@7852e922

我需要 Employee Array 形式的响应,请您帮助如何以数组的形式获取它

响应需要形成一个员工数组

标签: java

解决方案


您需要在类中实现一个toString方法Employee

public static class Employee {

        private String name;


        private String empId;

        public Employee(String name, String empId) {
            super();
            this.name = name;
            this.empId = empId;
        }

        @Override
        public String toString() {
            return "Employee{" +
                    "name='" + name + '\'' +
                    ", empId='" + empId + '\'' +
                    '}';
        }
    }

主要的

public static void main(String[] args){
        Employee emp1 = new Employee("Luke","11");
        Employee emp2 = new Employee("Luke2","12");

        Set<Employee> empSet = new LinkedHashSet<>();

        empSet.add(emp1);
        empSet.add(emp2);
        System.out.println(empSet);


    }

输出:

[Employee{name='Luke', empId='11'}, Employee{name='Luke2', empId='12'}]

推荐阅读