如何使用JAVA泛型从POJO类对象获取(int)值

时间:2018-06-04 05:36:48

标签: java pojo

我有一段代码,它将从给定的数组列表中获取值,而不管数据类型如何。它工作正常。

   public static <E> void getAll(List<E> elements) 
    {
        for (E el : elements) 
        {
            System.out.println(el.toString());
        }
        System.out.println();
    }

    public static void main(String args[]) throws Exception 
    {
        List<Integer> listInt = new ArrayList<Integer>();
        listInt.add(3);
        listInt.add(4);
        listInt.add(5);
        listInt.add(6);

        List<String> listStr = new ArrayList<String>();
        listStr.add("Animal");
        listStr.add("Ball");
        listStr.add("cat");
        listStr.add("dog");

        getAll(listInt);
        getAll(listStr);
    }

输出:

3
4
5
6

Animal
Ball
cat
dog

但是我尝试了相同的概念来从POJO对象获取数据,但是它失败并且只返回对象而不是像上面那样的Field。

以下代码是我的样本POJO:

  public class Test1 
  {

    private String car;
    private int price;

    public String getCar() 
    {
        return car;
    }

    public void setCar(String car) 
    {
        this.car = car;
    }

   public int getPrice() 
   {
    return price;
   }

   public void setPrice(int price) 
   {
    this.price = price;
   }
   public String toString() 
   {
    return String.format(car);
   }

  }

以下代码添加到main()方法中:

     Test1 t1 = new Test1();
     t1.setCar("volvo");
     t1.setPrice(400000);

     Test1 t2 = new Test1();
     t2.setCar("datsun");
     t2.setPrice(500000);

     List<Test1> t1Array = new ArrayList<Test1>();
     t1Array.add(t1);
     t1Array.add(t2);

     getAll(t1Array);

以下是代码的输出:

输出:

 Volvo
 Datsun

是否有其他方法可以获取该字段的值(整数),这将适用于任何类型的POJO类。

任何线索?

1 个答案:

答案 0 :(得分:0)

覆盖POJO类中的toString方法:

public class Test1 
{
    public String toString(){
        return this.car;
    }
}