我想不管比較Java中的所有類的值的類型,比如我有隔壁班:比較值不爲空或空任何級Java
public class Car {
private int windows;
private int doors;
private int drive;
private String model;
public int getWindows() {
return windows;
}
public void setWindows(int windows) {
this.windows = windows;
}
public int getDoors() {
return doors;
}
public void setDoors(int doors) {
this.doors = doors;
}
public int getDrive() {
return drive;
}
public void setDrive(int drive) {
this.drive = drive;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
}
而這個其他:
public class Moto {
private String model;
private String color;
private int year;
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
}
,我想比較,如果不是這個班的空或空的屬性,例如:
if(Validator.myClass(objectValue)){
}
else{
}
類ValidadorË xample:
if(!field.getName().equals("") && field.getName() != null){
如何做到這一點:
public class Validador {
public static boolean myClass(Object obj){
Class myClass = null;
String cla = obj.toString();
int a = cla.indexOf("@");
cla = cla.substring(0, a);
try {
myClass = Class.forName(cla);
Field[] fields = myClass.getDeclaredFields();
int contador =0;
for (Field field : fields) {
System.out.println("Field type is: " + field.getType());
System.out.println("Field name is: " + field.getName());
if(!field.getName().equals("") && field.getName() != null){
contador++;
}
}
log.info(contador);
} catch (Exception e) {
}
return true;
}
}
如果值不爲空或empity此屬性這條線不能比的?
我現在做以下列方式:
if(Nameclass != null && Nameclass.getNameAttributeA != null && !Nameclass.getNameAttributeA.equals(""){
}else{
}
更新
比不上2目標,只有一個,但沒有關係類型的對象,例如:我有obejct Car.class我想比較這個類的所有或任何屬性,或者與其他對象(類)相同。
謝謝!
說實話,問題並不清楚。你想比較上面的兩個對象嗎?你想傳遞一個對象到驗證器類並檢查每個屬性是否符合某些東西?很多選項.. – FrederikVH
取決於您是否被允許更改這些類別。理想情況下,這些類將以某種方式進行設計,以便無法創建無效的實例。這可以通過例如移除setter並將所有屬性作爲參數傳遞給構造函數,以驗證它們並在無效時拋出IllegalArgumentException。但只要涉及ORM或序列化,這可能會變得困難。你能告訴我們更多關於這些類使用的上下文嗎? –
不比較2個對象,只有一個,但不重要的類型對象,例如:我有obejct Car.class我想比較這個類的所有或任何屬性或做與其他對象(類)相同。 @FrederikVH – 5frags