当前位置: 首页 > news >正文

网站栏目策划 有思想的新闻天元建设集团有限公司第四建筑工程公司

网站栏目策划 有思想的新闻,天元建设集团有限公司第四建筑工程公司,小说写作网站,wordpress教程 网站标题Class类中包含了类定义的详细信息#xff0c;可以使用Class类中提供的方法来获取#xff0c;下面我们先获取Class对象#xff0c;再介绍Class类中提供的获取类信息的方法。 一、准备工作 在src/test/java目录的cn.horse.reflect.entity包下新建BaseEntity类、UserInfoEnti…Class类中包含了类定义的详细信息可以使用Class类中提供的方法来获取下面我们先获取Class对象再介绍Class类中提供的获取类信息的方法。 一、准备工作 在src/test/java目录的cn.horse.reflect.entity包下新建BaseEntity类、UserInfoEntity类 BaseEntity类 package cn.horse.reflect.entity;public abstract class BaseEntity {public Long id;public BaseEntity() { }public BaseEntity(Long id) {this.id id;}public void setId(Long id) {this.id id;}public Long getId() {return id;} }UserInfoEntity类 package cn.horse.reflect.entity;SuppressWarnings({}) public class UserInfoEntity extends BaseEntity {public String name;private Integer age;private UserInfoEntity() {}public UserInfoEntity(Long id) {super(id);}public UserInfoEntity(Long id, String name, Integer age) {super(id);this.name name;this.age age;}public void setAge(Integer age) {this.age age;}public Integer getAge() {return age;}private String getName() {return name;}private void check() { } }二、获取Class对象的三种方式 在src/test/java目录的cn.horse.reflect包下新建GetClassInstanceTests测试类 GetClassInstanceTests类 package cn.horse.reflect;import cn.horse.reflect.entity.UserInfoEntity; import org.junit.jupiter.api.Test;import static org.assertj.core.api.Assertions.assertThat;public class GetClassInstanceTests {Testpublic void testGetClassInstanceByBusObjectInstance() {assertThat(new UserInfoEntity(1L).getClass()).isNotNull();}Testpublic void testGetClassInstanceByBusClass() {assertThat(UserInfoEntity.class).isNotNull();}Testpublic void testGetClassInstanceByName() throws ClassNotFoundException {assertThat(Class.forName(cn.horse.reflect.entity.UserInfoEntity, false, this.getClass().getClassLoader())).isNotNull();}Testpublic void testClassInstanceEquals() throws ClassNotFoundException {Class? forNameType Class.forName(cn.horse.reflect.entity.UserInfoEntity, false, this.getClass().getClassLoader());Class? dotClassType UserInfoEntity.class;Class? objectGetClassType new UserInfoEntity(1L).getClass();assertThat(forNameType).isEqualTo(dotClassType);assertThat(dotClassType).isEqualTo(objectGetClassType);assertThat(forNameType).isEqualTo(objectGetClassType);} }单元测试方法介绍 testGetClassInstanceByBusObjectInstance使用对象的实例获取Class对象 testGetClassInstanceByBusClass使用类获取Class对象 testGetClassInstanceByName使用全限类名获取Class对象 testClassInstanceEquals判断三种方法获取到的Class对象是否相等 单元测试中使用了三种方式获取Class对象三种方式获取到的Class对象是相等的。 三、Class类中方法的使用 在src/test/java目录的cn.horse.reflect包下新建ClassInstanceMethodTests测试类 ClassInstanceMethodTests类 package cn.horse.reflect;import cn.horse.reflect.entity.BaseEntity; import cn.horse.reflect.entity.UserInfoEntity; import org.junit.jupiter.api.Test;import java.lang.reflect.Modifier; import java.util.Arrays; import java.util.Collection; import java.util.List; import java.util.Locale;import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType;public class ClassInstanceMethodTests {Testpublic void testGetName() {assertThat(UserInfoEntity.class.getSimpleName()).isEqualTo(UserInfoEntity);assertThat(UserInfoEntity.class.getName()).isEqualTo(cn.horse.reflect.entity.UserInfoEntity);assertThat(UserInfoEntity.class.getPackage().getName()).isEqualTo(cn.horse.reflect.entity);}Testpublic void testPrimitive() {assertThat(byte.class.isPrimitive()).isTrue();assertThat(short.class.isPrimitive()).isTrue();assertThat(int.class.isPrimitive()).isTrue();assertThat(long.class.isPrimitive()).isTrue();assertThat(float.class.isPrimitive()).isTrue();assertThat(double.class.isPrimitive()).isTrue();assertThat(boolean.class.isPrimitive()).isTrue();assertThat(void.class.isPrimitive()).isTrue();assertThat(int[].class.isPrimitive()).isFalse();assertThat(String.class.isPrimitive()).isFalse();assertThat(UserInfoEntity.class.isPrimitive()).isFalse();}Testpublic void testArray() {assertThat(String[].class.isArray()).isTrue();assertThat(String[].class.getComponentType()).isEqualTo(String.class);}Testpublic void testEnum() {assertThat(Locale.Category.class.isEnum()).isTrue();CollectionLocale.Category enumConstantList Arrays.asList(Locale.Category.class.getEnumConstants());ListLocale.Category expectedEnumConstantList Arrays.asList(Locale.Category.values());assertThat(enumConstantList.size()).isEqualTo(expectedEnumConstantList.size());assertThat(enumConstantList).containsAll(expectedEnumConstantList);}Testpublic void testAnnotation() {assertThat(SuppressWarnings.class.isAnnotation()).isTrue();}Testpublic void testLocalClass() {// 定义局部类class LocalClass {}assertThat(LocalClass.class.isLocalClass()).isTrue();}Testpublic void testAnonymousClass() {Runnable unknownClass new Runnable() {Overridepublic void run() {}};assertThat(unknownClass.getClass().isAnonymousClass()).isTrue();}Testpublic void testMemberClass() {assertThat(UserInfoEntity.class.isMemberClass()).isFalse();assertThat(InnerClass.class.isMemberClass()).isTrue();assertThat(StaticInnerClass.class.isMemberClass()).isTrue();// 定义局部类class LocalClass {}assertThat(LocalClass.class.isMemberClass()).isFalse();// 匿名类Runnable unknownClass new Runnable() {Overridepublic void run() {}};assertThat(unknownClass.getClass().isMemberClass()).isFalse();}Testpublic void testGetModifiers() {assertThat(Modifier.isPublic(UserInfoEntity.class.getModifiers())).isTrue();assertThat(Modifier.isProtected(UserInfoEntity.class.getModifiers())).isFalse();assertThat(Modifier.isPrivate(UserInfoEntity.class.getModifiers())).isFalse();assertThat(Modifier.isAbstract(UserInfoEntity.class.getModifiers())).isFalse();assertThat(Modifier.isInterface(UserInfoEntity.class.getModifiers())).isFalse();assertThat(Modifier.isStatic(UserInfoEntity.class.getModifiers())).isFalse();assertThat(Modifier.isFinal(UserInfoEntity.class.getModifiers())).isFalse();assertThat(Modifier.isNative(UserInfoEntity.class.getModifiers())).isFalse();}Testpublic void testStaticInnerClass() {assertThat(Modifier.isStatic(StaticInnerClass.class.getModifiers())).isTrue();}Testpublic void testInnerClass() {assertThat(InnerClass.class.isMemberClass() !Modifier.isStatic(InnerClass.class.getModifiers())).isTrue();}private static class StaticInnerClass { }private class InnerClass { }Testpublic void testTypeConvert() {assertThat(UserInfoEntity.class.isInstance(new UserInfoEntity(1L))).isTrue();assertThat(BaseEntity.class.isInstance(new UserInfoEntity(1L))).isTrue();assertThat(UserInfoEntity.class.isAssignableFrom(UserInfoEntity.class)).isTrue();assertThat(BaseEntity.class.isAssignableFrom(UserInfoEntity.class)).isTrue();assertThat(BaseEntity.class.cast(new UserInfoEntity(1L))).isNotNull();assertThatExceptionOfType(ClassCastException.class).isThrownBy(() - BaseEntity.class.cast(1));} }单元测试类中定义了两个内部类静态内部类StaticInnerClass、内部类InnerClass 单元测试方法介绍 testGetName获取类名称其中getSimpleName用于获取简略名称getName用于获取全限类名getPackage用于获取包对象 testPrimitive判断是否是基本数据类型使用isPrimitive方法判断是否是基本数据类型byte,short,int,long,float,double,Boolean,void testArray判断并获取数组元素类型使用isArray判断是否是数组类型使用getComponentType获取数组元素类型 testEnum判断并获取枚举常量数组使用isEnum判断是否是枚举类型使用getEnumConstants获取枚举常量数组 testAnnotation判断是否是注解类型使用isAnnotation判断是否是注解类型 testLocalClass判断是否是局部类使用isLocalClass判断是否是局部类 testAnonymousClass判断是否是匿名类使用isAnonymousClass判断是否是匿名类 testMemberClass判断是否是成员类使用isMemberClass判断是否是成员类内部类、静态内部类都属于成员类局部类、匿名类都不属于成员类 testGetModifiers获取修饰符使用getModifiers获取修饰符并使用Modifier类提供的静态方法依次判断了是否使用了public、protected、private、abstract、interface、static、final、native等修饰符 testStaticInnerClass判断是否是静态内部类使用getModifiers获取修饰符并使用Modifier类提供的静态方法判断是否使用了static修饰符 testInnerClass判断是否是内部类判断是否是成员类并且没有使用static修饰符 testTypeConvert类型判断与转换使用isInstance或isAssignableFrom可以判断类型是否可以转换使用cast可以进行类型的转换。
http://www.dnsts.com.cn/news/271678.html

相关文章:

  • 如何链接自己做的网站太原seo排名收费
  • 新建网站外链怎么做wordpress for gae
  • 网络电子商务购物网站北京画册设计制作公司
  • 营销管理网站企业建网站公司多少钱
  • 安徽静安集团网站建设常州网站建设套餐
  • 给我免费观看片在线观看手机系统优化
  • 找一家秦皇岛市做网站的公司网站开发素材
  • 建设俄语网站网站制作的一般步骤是什么
  • 西安专题门户响应式网站建设域名什么意思举个例子
  • 浦东新区网站推广公司聊城开发区网络公司排名
  • 社区教育网站建设项目计划书别人用我公司营业执照备案做网站
  • 揭阳网站定制网站开发常见问题
  • 快速搭建网站系统清远公司网站建设
  • 高品质网站建设公司农林网站建设公司
  • 红色企业网站广州建设技术职业学院官网
  • 网站无法显示网页内容网站群建设思路
  • 宁德网站制作公司网站制作多少钱
  • 网站名词解释长宁区网站建设网站
  • 自有服务器 建网站哪家公司做网站结算好
  • 六安关于建设审批的网站中国最大的招标网
  • 网站地址正能量6成都网站建设
  • php购物网站开发摘要wordpress文章分类统计
  • 多语言做网站php做不了大型网站
  • 万网网站编辑苏州网站建设凡科
  • 做国际贸易需要网站吗网站建设 迅雷下载
  • ps和dw做网站个人网站模板大全
  • 那种限时购的网站如何做做热图的网站
  • 重庆旅游seo整站优化网站建设与规划心得
  • 社区团购最新模式哈尔滨seo服务
  • 如何弄自己的网站如何做二手车网站