同步操作将从 ldh123/TestUI 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
package common;import de.jensd.fx.glyphs.GlyphIcons;import de.jensd.fx.glyphs.materialdesignicons.MaterialDesignIcon;import ldh.common.testui.demo.Student;import ldh.common.testui.demo.complex.HelloDemo2;import ldh.common.testui.util.JsonUtil;import ldh.common.testui.util.ReflectTypeUtil;import org.junit.Ignore;import org.junit.Test;import java.lang.reflect.Method;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;import java.util.ArrayList;import java.util.Arrays;import java.util.List;/*** Created by ldh on 2018年3月29日.*/public class ReflectTest {@Testpublic void list() throws NoSuchMethodException {Method method = HelloDemo2.class.getDeclaredMethod("listTest", String.class);Type type = method.getGenericReturnType();// 获取返回值类型Class returnClass = method.getReturnType();if (List.class.isAssignableFrom(returnClass)) {System.out.println("true");}if (type instanceof ParameterizedType) { // 判断获取的类型是否是参数类型System.out.println(type);Type[] typesto = ((ParameterizedType) type).getActualTypeArguments();// 强制转型为带参数的泛型类型,// getActualTypeArguments()方法获取类型中的实际类型,如map<String,Integer>中的// String,integer因为可能是多个,所以使用数组for (Type type2 : typesto) {// System.out.println("泛型类型" + type2);}}}@Testpublic void array() throws NoSuchMethodException {Method method = HelloDemo2.class.getDeclaredMethod("arrayTest", String[].class);Class[] paramTypes = method.getParameterTypes();System.out.println(paramTypes[0].isArray());Type type = method.getGenericReturnType();// 获取返回值类型Class returnClass = method.getReturnType();if (List.class.isAssignableFrom(returnClass)) {System.out.println("true");}if (type instanceof ParameterizedType) { // 判断获取的类型是否是参数类型System.out.println(type);Type[] typesto = ((ParameterizedType) type).getActualTypeArguments();// 强制转型为带参数的泛型类型,// getActualTypeArguments()方法获取类型中的实际类型,如map<String,Integer>中的// String,integer因为可能是多个,所以使用数组for (Type type2 : typesto) {System.out.println("泛型类型" + type2);}}}@Testpublic void test2() {List<String> list = new ArrayList<>();System.out.println(list instanceof List);System.out.println(list instanceof ArrayList);System.out.println(list.getClass().isAssignableFrom(List.class));System.out.println(List.class.isAssignableFrom(list.getClass()));}@Testpublic void arrayTest() {String[] arrayStr = new String[]{};String json = "[\"adfas\", \"dsfasdfas\"]";String[] result = JsonUtil.toObject(json, arrayStr.getClass());Arrays.stream(result).forEach(System.out::println);}@Testpublic void arrayTest2() {Student[] arrayStr = new Student[]{};String json = "[{\"id\":12,\"name\":\"test\", \"age\":18}, {\"id\":13,\"name\":\"test1\", \"age\":19}]";Student[] result = JsonUtil.toObject(json, arrayStr.getClass());Arrays.stream(result).forEach(e->System.out.println(e.getName() + "," + e.getAge() + "," + e.getId()));}@Testpublic void listTest() throws NoSuchMethodException {Method method = HelloDemo2.class.getDeclaredMethod("listTest", String.class);Type type = ReflectTypeUtil.getMethodReturnT(method, 0);Class cc = (Class) type;System.out.println(cc.getSimpleName());}@Test@Ignorepublic void enumTest(){Class glyphIcons = MaterialDesignIcon.class;GlyphIcons[] tt = (GlyphIcons[]) glyphIcons.getEnumConstants();for (GlyphIcons g : tt) {System.out.println("ggg:" + g);}}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。