是否有接受各种数据类型值的字典?

ada*_*ada 6 java dictionary types map primitive-types

我需要一个地图,其中值是不同类型的,如整数,字符串等.Java的问题是这里的原语不是Objects,这表明它可能不可能有一个混合字典.我想证实这一点.

Jon*_*eet 8

听起来你只想要一个Map<String, Object>(或任何你的密钥类型).

原始值将适当地加框:

Map<String, Object> map = new HashMap<String, Object>();

map.put("int", 20);
map.put("long", 100L);
// etc
Run Code Online (Sandbox Code Playgroud)

请注意,为了检索值并将其取消,您必须提及特定的包装类型:

// Explicit unboxing
int x = (int) (Integer) map.get("int");
// Implicit unboxing
int y = (Integer) map.get("int");
// USing a method from Number instead
int z = ((Integer) map.get("int")).intValue();
Run Code Online (Sandbox Code Playgroud)

  • @Peter Lawrey,OP想要一个String类型的值.号码不符合条件. (2认同)

Dav*_*vid 1

您可以利用自动装箱并使用Integerint 等代替。

相应的类型(IntegerDoubleBool...)继承对象,因此您可以使用标准Map<Object, Whatever>并向其抛出任意内容。