Java中对象上的循环
可以用几种不同的类型循环一个对象吗?例如(字符串、整型、布尔型)
我希望避免方法display()带有几个prints
public class Personage {
public String name;
public int age;
public boolean sex = false;
public Personage(String name, int age, boolean sex){
this.name = name;
this.age = age;
this.sex = sex;
}
public void display(){
System.out.println("Name : " + name);
System.out.println("Age : " + age);
System.out.println("Sex : " + sex);
}
}
在nodeJS中,存在一个名为foReach的循环以实现以下目的:
var perso1 = {
name : "Toto",
sex : true,
age : 30
}
for(var information in perso1){
console.log(information + " : " + perso1[information]);
}
你认为用Java做同样的事情是可能的吗
# 1 楼答案
最简单的方法是向Person类中添加^{} 方法并使用reflection。这将导致以下代码:
之后,可以使用以下代码输出对象:
我也可以推荐library Lombok。它还包含一个注释^{} ,您可以用它来解决问题。例如,您的代码可能如下所示:
否则有many other nice annotations对你有用
# 2 楼答案
根据你的问题和你给出的代码,循环使用不同的数据类型似乎不太正确
我已经给出了代码,通过它你可以得到你想要的输出,并且避免了使用几个打印语句的显示方法
它只关心通过对象声明传递给构造函数的数据类型
可以通过构造函数参数处理这些数据类型
# 3 楼答案
如果您只想显示属性,无论其格式如何,都可以使用lombok
@ToString
或Apache Common LangReflectionToStringBuildr
中的库,或者您可以通过IDE生成但是,如果你想知道如何用JavaScript实现这一点,有两种方法:
可以创建Utils类,使其可用于任何对象