有時候需要對比兩段代碼,找出其中的區別,用肉眼顯然是不可靠的。利用 Android Studio 的 Compare with Clipboard 功能,就可以輕松做到。
例如,以下兩段代碼:
// method 1
public static Object getFieldValue(@NonNull Object obj, @NonNull Class<?> clazz, @NonNull String fieldName) throws NoSuchFieldException {
Field field = null;
try {
field = clazz.getDeclaredField(fieldName);
} catch (NoSuchFieldException e) {
try {
field = clazz.getField(fieldName);
} catch (NoSuchFieldException ignore) {
throw new NoSuchFieldException("No method found named " + fieldName + " in class " + clazz);
}
}
try {
field.setAccessible(true);
return field.get(obj);
} catch (IllegalAccessException e) {
e.printStackTrace();
return null;
}
}
// method 2
public static Object getFieldValue(@NonNull Object obj, @NonNull Class<?> clazz, @NonNull String fieldName) {
Field field = null;
try {
field = clazz.getDeclaredField(fieldName);
} catch (NoSuchFieldException e) {
try {
field = clazz.getField(fieldName);
} catch (NoSuchFieldException ignore) {
}
}
if (field == null) {
return null;
}
try {
field.setAccessible(true);
return field.get(obj);
} catch (IllegalAccessException e) {
e.printStackTrace();
return null;
}
}
首先,復制第一段代碼:
copy
然后,選中第二段代碼,點擊 Compare with Clipboard:
compare
即可顯示對比結果:
result