判断一个类是否另一个类的父类
发表于|更新于
|浏览量:
任何教育都比不上灾难的教育。——英狄斯雷利
代码很简单
我们调用Class中isAssignableFrom函数来判断左边的类是否参数中这个类的超类(父类)
1 | System.out.println(Collection.class.isAssignableFrom(List.class)); |
打印结果

相关推荐
2021-12-06
Collectors.toMap空指针问题
社会上崇敬名人,于是以为名人的话就是名言,却忘记了他所以得名是那一种学问和事业。 —— 鲁迅 对于Collectors.toMap,我们使用时如果value为空,则会抛出空指针,因为底层调用的Map.merge函数 如果我们想避免该问题,就可以使用collect去处理,例如我给hutool提交的这个PR一样 原先: 1StreamUtil.of(collection, isParallel).collect(Collectors.toMap(key, value, (l, r) -> l)); 现在: 1StreamUtil.of(collection, isParallel).collect(HashMap::new, (HashMap<K, V> m, E v) -> m.put(key.apply(v), value.apply(v)), HashMap::putAll); 完整函数: 12345678910111213141516/** * @param collection 需要转化的集合 * @param key E类型转...
2022-09-08
hutool获取excel中的图片
人无礼而何为,财非义而不取——耐施庵 依赖如下: 1234567891011<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.6</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>5.2.2</version></dependency> 代码如下: 123456789101112131415161718...
2024-04-05
org.apache.ibatis.session.AutoMappingUnknownColumnBehavior
我只说从今往后,不说今日以前。——陈忠实《白鹿原》 在处理数据库和Java对象之间的映射时,MyBatis提供了一种高度灵活的机制来处理那些在结果集中存在但在Java对象中没有相应属性的未知列。这种机制通过AutoMappingUnknownColumnBehavior枚举来实现,它允许开发者定义对这些未知列的处理策略。 AutoMappingUnknownColumnBehavior的三种策略 NONE: 这是默认策略,MyBatis将忽略所有未知的列,不会对其进行任何操作或抛出异常。 WARNING: 当选择这个策略时,MyBatis会在控制台或日志文件中记录一个警告消息,指出存在未知列,但仍然会继续映射已知列。 FAILING: 选择这个策略时,一旦遇到未知列,MyBatis将抛出异常并终止映射过程。这对于需要确保所有列都必须被正确映射的场景非常有用。 应用场景 开发和测试阶段: 你可能会倾向于使用WARNING策略,以便及时发现数据库表结构的任何更改,这些更改可能会影响应用程序的行为。 生产环境: 在生产环境中,FAILING策略可以帮助你确保数据完整性,任何未映射...
2024-05-06
Apache Fury
得道者多助,失道者寡助。——孟子 https://fury.apache.org/ Apache Fury 是一个 Java 序列化库,它提供了线程安全和高性能的序列化解决方案。在这个示例中,我们通过继承一个抽象序列化类来实现自定义的序列化逻辑。 例如 我们定义了一个 FurySerialize 类,它扩展了一个抽象的 AbsSerialize 类。这个类实现了两个主要方法:encode 用于将对象序列化成字节,而 decode 用于将字节反序列化成对象。 1234567891011121314151617181920212223242526public class FurySerialize extends AbsSerialize { private static ThreadSafeFury fury; static { fury = Fury.builder() .withLanguage(Language.JAVA) .withRefTracking(true) ...
2021-07-23
java模块导出与导入
只有经历过地狱般的磨砺,才能练就创造天堂的力量;只有流过血的手指,才能弹出世间的绝响。——泰戈尔 在java9中,新增了模块导入导出功能 我们可以新建一个module-info.java文件 然后我们可以在其中定义模块名、导出模块、引入模块 例如我这里定义了模块名为simple.design 导出的包为com.ruben.vistor.example.insurance和com.ruben.vistor.example.check 导入的包为java.net.http以及java.sql 123456module simple.design { exports com.ruben.vistor.example.insurance; exports com.ruben.vistor.example.check; requires java.net.http; requires java.sql;} 我们在本模块中可以使用到java.net.http以及java.sql 当然我们导出的这两个包下面的类也可以在另一个模块中引用 需要...
2023-11-07
spring-state-machine动态构建
习惯的力量是巨大的。——西塞罗 文档: https://docs.spring.io/spring-statemachine/docs/current/reference/#state-machine-via-builder 此处表明状态机不仅可以通过配置类的方式进行配置,还可以通过建造者模式动态构建 123456789StateMachine<String, String> buildMachine1() throws Exception { Builder<String, String> builder = StateMachineBuilder.builder(); builder.configureStates() .withStates() .initial("S1") .end("SF") .states(new HashSet<String>(Arrays.asList("S1","S2","S3",&q...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog