当前位置:网站首页 > Java基础 > 正文

java 基础组件



目录

同构容器

异构容器

代码示例


前在阅读【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存放,取出之后也是各自的业务逻辑,自己转换类型吧。本文仅做扩展了解就行。

  • 上一篇: java基础教程28
  • 下一篇: 会java基础能赚钱吗
  • 版权声明


    相关文章:

  • java基础教程282024-10-18 10:50:01
  • java 基础 代码 详解2024-10-18 10:50:01
  • java基础中的运算符2024-10-18 10:50:01
  • java基础转向jsp难吗2024-10-18 10:50:01
  • java基础包怎么创建2024-10-18 10:50:01
  • 会java基础能赚钱吗2024-10-18 10:50:01
  • java零基础招聘骗局2024-10-18 10:50:01
  • 0基础跳槽学java2024-10-18 10:50:01
  • java零基础发展史2024-10-18 10:50:01
  • 0基础java费用2024-10-18 10:50:01