java - 我可以使用变量类型在 Java 中声明另一个变量吗?

标签 java generics types map

我可以用 Java 做这样的事情吗?

HashMap<String, Child> childMap=new HashMap<String, Child>();
HashMap<String, childMap.typeName> parentMap=new HashMap<String, childMap.typeName>();
//instead of
HashMap<String, HashMap<String, Child>> parentMap=new HashMap<String, HashMap<String, Child>>();

或者类似的东西

HashMap<String, HashMap<String, Child>> parent1=new HashMap<String, HashMap<String, Child>>();
parent1.typeName parent2=new parent1.typeName;

因为有些时候,如果 map 层级太深或太复杂,写起来和读起来都非常困难。

最佳答案

可以通过定义子类进行缩写:

class Str2Child extends HashMap<String, Child>>{}
class Str2Map extends HashMap<String,Str2Child>{}

Str2Map parent1 = new Str2Map();

关于java - 我可以使用变量类型在 Java 中声明另一个变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25028860/

相关文章:

c# - 对象关系映射 - 插入更新存储过程

java - 为什么非静态方法有时不能仅被引用?

scala - 如何设置隐式转换以允许数字类型之间的算术?

postgresql - 如何找出 Postgres 中数据类型的可用性

c++ - 什么是 C++ 的 32 位和 64 位窗口中的兼容 "int"类型?

java - Netty:在 ChannelBuffer 中来回交换 ByteOrder

java - 未选择 fragment 崩溃

Java邮件: Setting Chinese Encoding

java - Map<Class<?>, Object> 注册表

Java通过命令行读取文件,<(小于)符号