赞
踩
有了这个,面试踩雷?不存在的!
//获取规范名
String packName5 = ClassUtils.getPackageCanonicalName(String.class);
System.out.println(packName5); // = java.lang
}
获取类名
getShortCanonicalName(Class<?> cls)
getShortClassName(Class<?> cls)
getSimpleName(Class<?> cls)
@Test
public void testGetClassName(){
//获取simpleName
String simpleName1 = ClassUtils.getSimpleName(String.class);
System.out.println(simpleName1); // = String
//获取simpleName
String simpleName2 = ClassUtils.getSimpleName(null,“simpleName is null”);
System.out.println(simpleName2); // = simpleName is null
//获取canonicalName
String canonicalName = ClassUtils.getShortCanonicalName(String.class);
System.out.println(canonicalName); // = String
//获取className
String className = ClassUtils.getShortClassName(String.class);
System.out.println(className); // = String
//3者的区别:对于内部类,如内部类,区别就显示出来类
//其他情况区别不大
//获取simpleName
String simpleName3 = ClassUtils.getSimpleName(Map.Entry.class);
System.out.println(simpleName3); // = Entry
//获取canonicalName
String canonicalName2 = ClassUtils.getShortCanonicalName(Map.Entry.class);
System.out.println(canonicalName2); // = Map.Entry
//获取className
String className2 = ClassUtils.getShortClassName(Map.Entry.class);
System.out.println(className2); // = Map.Entry
}
判断是否为转型
isAssignable(Class<?> cls, Class<?> toClass)等等
@Test
public void testIsAssignable(){
System.out.println(“判断是否可以转型.”);
System.out.println(ClassUtils.isAssignable(Date.class, Object.class)); //= true
System.out.println(ClassUtils.isAssignable(Object.class, Date.class)); //=false
}
判断是否为内部类
isInnerClass(Class<?> cls)
@Test
public void testIsInnerClass(){
System.out.println(ClassUtils.isInnerClass(Entry.class)); // = ture
System.out.println(ClassUtils.isInnerClass(Object.class)); //= false
}
判读是否为基础类型或者包装类型
isPrimitiveOrWrapper(Class<?> type)
isPrimitiveWrapper(Class<?> type)
@Test
public void testIsPrimitiveWrapper(){
// wrapper类有(Boolean, Byte, Character, Short, Integer, Long, Double, Float).
System.out.println(ClassUtils.isPrimitiveWrapper(Integer.class)); // = ture
System.out.println(ClassUtils.isPrimitiveWrapper(Object.class)); // = false
System.out.println(ClassUtils.isPrimitiveWrapper(String.class)); // = false
System.out.println(ClassUtils.isPrimitiveWrapper(int.class)); // = false
System.out.println(ClassUtils.isPrimitiveOrWrapper(Integer.class)); // = ture
System.out.println(ClassUtils.isPrimitiveOrWrapper(Object.class)); // = false
System.out.println(ClassUtils.isPrimitiveOrWrapper(String.class)); // = false
System.out.println(ClassUtils.isPrimitiveOrWrapper(int.class)); // = true
}
基础类型和包装类型转换
wrapperToPrimitive(Class<?> cls)
@Test
public void testWrapperToPrimitive(){
System.out.println(ClassUtils.wrapperToPrimitive(Integer.class));// = int
}
获取类名和class类互转
convertClassesToClassNames(List<Class<?>> classes)
convertClassNamesToClasses(List classNames)
对象转Class对象
toClass(Object… array)
@Test
public void testToClass(){
//类转化为class对象
Class[] classAry = ClassUtils.toClass(new String(),new Object());
System.out.println(ArrayUtils.toString(classAry));
// = {class java.lang.String,class java.lang.Object}
}
学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!
最后再分享的一些BATJ等大厂20、21年的面试题,把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。
Mybatis面试专题
MySQL面试专题
并发编程面试专题
qKx-1715135563821)]
MySQL面试专题
[外链图片转存中…(img-ZVs5SQTs-1715135563821)]
并发编程面试专题
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。