Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion common/src/main/java/com/highgo/cloud/util/CommonUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ public static boolean isWrapClass(Class clz) {

@SuppressWarnings("rawtypes")
public static boolean isNumber(Class cls) {
return cls.getSuperclass().equals(Number.class) || CommonUtil.isWrapClass(cls) || cls.isPrimitive();
return Number.class.equals(cls.getSuperclass()) || CommonUtil.isWrapClass(cls) || cls.isPrimitive();
}

/**
Expand Down
39 changes: 39 additions & 0 deletions tests/regression/CommonUtilClassPredicateRegression.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import com.highgo.cloud.util.CommonUtil;

/** Complete real class, genuine JDK Class values, no copied classifier or framework doubles. */
public final class CommonUtilClassPredicateRegression {
private static int failures;
private static int cases;

private static void expect(Class<?> type, boolean expected) {
cases++;
try {
boolean actual = CommonUtil.isNumber(type);
if (actual != expected) {
throw new AssertionError(type + ": expected " + expected + ", got " + actual);
}
System.out.println("PASS " + type.getTypeName());
} catch (Throwable error) {
failures++;
System.err.println("FAIL " + type.getTypeName() + ": " + error);
error.printStackTrace(System.err);
}
}

public static void main(String[] args) {
expect(byte.class, true);
expect(short.class, true);
expect(int.class, true);
expect(long.class, true);
expect(float.class, true);
expect(double.class, true);
expect(Object.class, false);
expect(CharSequence.class, false);
expect(Integer.class, true);
expect(String.class, false);
if (failures != 0) {
throw new AssertionError(failures + " of " + cases + " cases failed");
}
System.out.println(cases + " cases passed");
}
}