有语句序列:
1. if (x instanceof Integer) { valid(); }
2. if (x instanceof Long) { valid(); }
3. if (x instanceof Double) { valid(); }
4. if (x instanceof Date) { valid(); }
5. if (x instanceof String) { valid(); }
......怎么把这些语句改写成一个循环?就象下面这样子:
for (int i=0; i<arr.length; i+++) {
if (x instanceof arr[i]) valid();
}想了半天也不知道数组 arr 该怎么定义
1. if (x instanceof Integer) { valid(); }
2. if (x instanceof Long) { valid(); }
3. if (x instanceof Double) { valid(); }
4. if (x instanceof Date) { valid(); }
5. if (x instanceof String) { valid(); }
......怎么把这些语句改写成一个循环?就象下面这样子:
for (int i=0; i<arr.length; i+++) {
if (x instanceof arr[i]) valid();
}想了半天也不知道数组 arr 该怎么定义
Integer.class,
Long.class,
Double.class,
Date.class,
String.class
};for (int i = 0; i < classes.length; i++) {
if (classes[i].equals(x.getClass)) {
valid();
}
}
你的做法很对(虽然没有用instanceof)
如果不用instanceof运算,其实下面这种写法也是相同的效果:
Class[] classes = new Class[] {
Integer.class,
Long.class,
Double.class,
Date.class,
String.class
};for (int i = 0; i < classes.length; i++) {
if (classes[i].isInstance(x)) {
valid();
}
}