java 基础组件

java 基础组件目录 同构容器 异构容器 代码示例 前在阅读 Effective Java 第三版 的泛型时 书中提到过异构容器与同构容器 这里单独简单记录一下 同构容器 Java 中基础提供的 Set e Map k v List e 几种常用的集合 以及 ThreadLocal t AtomicRefere v 这种单元数类型容器 v t e k e

大家好,我是讯享网,很高兴认识大家。



目录

同构容器

异构容器

代码示例


前在阅读【Effective Java(第三版)】的泛型时,书中提到过异构容器与同构容器,这里单独简单记录一下。

同构容器

Java中基础提供的,Set<E>、Map<K, V>、List<E>几种常用的集合,以及ThreadLocal<T>、AtomicReference<V>这种单元数类型容器,它们的类型都是在创建时就已经确定好了的,存放的空间是被参数化的容器,这样就限制了每个容器只有固定数目的类型参数,所以叫同构容器。特点是容器参数化。

异构容器

书中提到,数据库数据每行有多列,如果希望用类型安全的方式来访问所有列。(这里不要理解成日常数据库业务开发方向,当成数据库操作底层提供的jar包、或者动态结构,理解起来可能会更贴切)这时与同构容器相比,拥有更灵活的设定,就是Key参数化,然后将参数化的Key值交给容器进行存入或者取出。用泛型来保障值得类型与Key相匹配。

※这里的键值与Map的键值有些不一样,Map的键值,值的类型是固定的,就算定义Object,取出之后还是需要各自进行类型转换,而异构容器的值取出之后直接就是存入的类型,不需要再次转换。

java 基础组件

代码示例

讯享网

关于异构容器使用场景猜想

一般的业务开发中很少有场景需要运用到异构容器。Java都是强类型指定,一般运用中不太会遇到需要动态多类型存放的业务场景。

可能在做一些中间件组件时、或者云平台存放不同公司各自制定数据类型时会涉及吧。但是现在一般都会利用Redis,制定好Key的规则,不同类型的数据直接大Json存放,取出之后也是各自的业务逻辑,自己转换类型吧。本文仅做扩展了解就行。

小讯
上一篇 2025-01-01 21:30
下一篇 2024-12-24 23:21

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/7786.html