当前位置: 首页 > 面试题库 >

具有多种数据类型的Java数组

唐彬炳
2023-03-14
问题内容

我可以用来存储多种不同类型的数据(整数/字符串/等)?我来自PHP背景,可以将不同类型的数据存储到数组中,但是我不知道如何在Java中进行操作。

举个例子:

$array = array(
    "val1" => 1,
    "val2" => "cat",
    "val3" => true
);

如何用Java做类似的事情?


问题答案:

Java是一种强类型语言。在PHP或Javascript中,变量没有严格的类型。但是,在Java中,每个对象和基元都有严格的类型。您可以将多种类型的数据存储在Array中,但只能将其作为对象取回。

您可以拥有一个对象数组:

Object[] objects = new Object[3];
objects[0] = "foo";
objects[1] = 5;

请注意,将自动装箱5 new Integer(5),其中是围绕整数5的对象包装。

但是,如果要从数组中获取数据,则只能将其作为对象获取。以下内容不起作用:

int i1 = objects[1]; // Won't work.
Integer i2 = objects[2]; // Also won't work.

您必须将其作为对象取回:

Object o = objects[0]; // Will work.

但是,现在您无法找回原始表格。您可以尝试危险的演员表:

String s = (String) o;

但是,您不知道这o是一个字符串。

您可以通过以下方式进行检查instanceof

String s = null;

if (o instanceof String)
    s = (String) o;


 类似资料:
  • 我正在使用recyclerView,我成功地扩展了两个视图,但每个视图的内容都来自不同的json数据类型。我尝试在适配器中传递这两个数据类型,但它们没有正确绑定 > 源代码 公共类SimpleStringRecycleWebAdapter:RecycleWebView。适配器{ } 公共类SimpleViewHolder:RecyclerView。ViewHolder{public string

  • 问题内容: 很抱歉,如果这是重复的,尽管我无法在任何地方找到确切的答案: 有没有办法在 postgreSQL中 创建一个包含多个数据类型的数组? 我有一个类型的列(类型文本数组);尽管我想从type插入三个条目,然后插入第四个条目到此数组中。 有办法吗?如果是这样,怎么办? 问题答案: 我不认为有一种方法可以声明具有多个类型的数组。但是,我认为您可以使用复合类型来完成您想做的事情,例如, 然后,您

  • 如何设置文本颜色,我将使用setForebackground(color c),但如果我使用它,图像不会被打乱。 有可能使它与JLabel一起工作吗?在修改单元格的线程中设置所需的Jlabel(带有图像或文本),只需设置Valueat(label,row,column);

  • Java 的数组要求所有的数组元素具有相同的数据类型。因此,在一个数组中,数组元素的类型是唯一的,即一个数组里只能存储一种数据类型的数据,而不能存储多种数据类型的数据。 因为 Java 语言是面向对象的语言,而类与类之间可以支持继承关系(从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为),这样可能产生一个数组里可以存放多种数据类型的假象。例如有一个水果数组,要求每个数组元素都是水果,实

  • 问题内容: 我必须完成一个奇怪的特殊情况。其描述如下: 我必须设计一个地图,其中“ 键 ”始终为 字符串 类型。但是,其中一个键的“ 值 ”可以是 字符串或列表 (取决于特定键可以具有的值数。如果该特定键只有一个值,并且必须如果键包含许多值,则为列表)。如何完成这种情况? 例如:在映射中有2个键,分别是“名称”和“电话号码”。一个人只能有一个名字和多个电话号码。因此,此处的第一个键(即“名称”)的

  • 我在使用OpenAPI 3定义可重用架构组件时遇到问题,这将允许包含多种类型的数组。每个项目类型都继承自同一个父类,但具有特定的子属性。这在SwaggerHub上的视图中似乎可以正常工作,但示例视图没有正确显示数据。 太长,读不下去了有没有办法在OpenAPI 3中定义包含不同对象类型的数组?