如何在Groovy中打印类属性?

时间:2017-05-17 06:42:42

标签: groovy

调整班级

let new = orderSettingArray.filter{ return myArray.contains($0) }

我有这种方法从Resize类打印数据

class Resize {

    int width = 12

    int length = 10

}

如何动态打印这样的值?我的意思是如果我不知道关键名称。

 public String print(){
    Resize resize = new Resize()
    println(resize)
 }

2 个答案:

答案 0 :(得分:1)

您可以使用ToString

为课程添加注释

e.g。

import groovy.transform.ToString

@ToString(includeNames=true)
class Resize { ...

如果ToString的输出不合适,您可以尝试:

class Resize {   

    int width = 12      
    int length = 10 

    String toString() {
        properties.findAll{it.key != 'class'}.collect{ it.value }
    }
}

答案 1 :(得分:0)

您可以编写一个简单的util函数:

class Resize {
    int width = 12;
    int length = 10;

    String getDimensionsAsString(){

        StringBuilder sb = new StringBuilder();

        sb.append("[");

        sb.append(width);
        sb.append(",");

        sb.append(length);

        sb.append("]");

        return sb.toString();

    }

}

println new Resize().getDimensionsAsString();

输出:

[12,10]