Skip to content

Commit 78c5c7e

Browse files
committed
fix-to(return): 修复class类型问题
1 parent 4a02032 commit 78c5c7e

File tree

3 files changed

+18
-39
lines changed

3 files changed

+18
-39
lines changed

json-diff-core/src/main/java/me/codeleep/jsondiff/core/handle/other/ComplexOtherJsonNeat.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,15 @@ protected JsonCompareResult diff1() {
3535
result.addDefects(defects);
3636
return result;
3737
}
38+
if (!ClassUtil.isSameClass(expect.getOther(), actual.getOther())) {
39+
Defects defects = new Defects()
40+
.setActual(actual)
41+
.setExpect(expect)
42+
.setTravelPath(travelPath)
43+
.setIllustrateTemplate(DATA_TYPE_INCONSISTENT, ClassUtil.getClassName(expect.getOther()), ClassUtil.getClassName(actual.getOther()));
44+
result.addDefects(defects);
45+
return result;
46+
}
3847
if (expect.isEquals(actual)) {
3948
return result;
4049
}

json-diff-core/src/main/java/me/codeleep/jsondiff/core/handle/primitive/ComplexPrimitiveJsonNeat.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,15 @@ protected JsonCompareResult diff1() {
3535
result.addDefects(defects);
3636
return result;
3737
}
38+
if (!ClassUtil.isSameClass(expect.getTarget(), actual.getTarget())) {
39+
Defects defects = new Defects()
40+
.setActual(actual)
41+
.setExpect(expect)
42+
.setTravelPath(travelPath)
43+
.setIllustrateTemplate(DATA_TYPE_INCONSISTENT, ClassUtil.getClassName(expect.getTarget()), ClassUtil.getClassName(actual.getTarget()));
44+
result.addDefects(defects);
45+
return result;
46+
}
3847
if (expect.isEquals(actual)) {
3948
return result;
4049
}
Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
package me.codeleep.jsondiff.core.utils;
22

3-
import me.codeleep.jsondiff.common.exception.JsonDiffException;
4-
import me.codeleep.jsondiff.common.model.neat.JsonDiffArray;
5-
import me.codeleep.jsondiff.common.model.neat.JsonDiffObject;
6-
73
import static me.codeleep.jsondiff.common.model.Constant.NULL;
84

95
/**
@@ -26,33 +22,6 @@ public static boolean isSameClass(Object obj1, Object obj2) {
2622
return obj1 == null && obj2 == null;
2723
}
2824

29-
/**
30-
* 判断当前对象是否为json数据格式中的基本类型
31-
* @param obj 判断的对象
32-
* @return 是否为基本类型
33-
*/
34-
public static boolean isPrimitiveType(Object obj){
35-
if(obj == null){
36-
return true;
37-
}
38-
39-
if(obj instanceof JsonDiffArray || obj instanceof JsonDiffObject){
40-
return false;
41-
}
42-
43-
if (String.class.isAssignableFrom(obj.getClass())) {
44-
return true;
45-
}
46-
if (obj instanceof Number) {
47-
return true;
48-
}
49-
try {
50-
return ((Class<?>)obj.getClass().getField("TYPE").get(null)).isPrimitive();
51-
} catch (Exception e) {
52-
return false;
53-
}
54-
}
55-
5625

5726
/**
5827
* 获取className
@@ -65,12 +34,4 @@ public static String getClassName(Object obj) {
6534
}
6635
return obj.getClass().getName();
6736
}
68-
69-
public static <T> T getClassNameInstance(Class<T> clazz) {
70-
try {
71-
return clazz.newInstance();
72-
} catch (Exception e) {
73-
throw new JsonDiffException(String.format("无法实例化: %s", clazz), e);
74-
}
75-
}
7637
}

0 commit comments

Comments
 (0)