Java 数组具有多种数据类型

2023-12-23

我可以使用什么来存储多种不同类型的数据(Int/String/等)?我有 PHP 背景,我可以将不同类型的数据存储到数组中,但我不知道如何在 Java 中做到这一点。

举个例子:

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

我怎样才能用Java做类似的事情?


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

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

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;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 数组具有多种数据类型 的相关文章

  • 如何查看Pocketsphinx词典中是否存在该单词?

    我只是想看看字典文件中是否存在字符串 字典文件位于问题底部 我想检查语音识别器是否可以识别单词 例如 识别器将无法识别字符串ahdfojakdlfafiop 因为字典中没有定义 所以 我可以检查某个单词是否在 pocktsphinx 词典中
  • 是否可以在 Spring Batch 中结合分区和并行步骤?

    我只是想知道它在 Spring Batch 中可行吗 Step1Step2 流程 gt 流程1 流程2 流程3 Step3 其中每个flow1 gt 划分为 5 个 GridSizeflow2 gt 划分为 5 个 GridSizeflow
  • 任务“:app:dexDebug”执行失败

    我目前正在处理我的项目 我决定将我的 Android Studio 更新到新版本 但在我导入项目后 它显示如下错误 Information Gradle tasks app assembleDebug app preBuild UP TO
  • 如何在 Eclipse 中用阿拉伯语读写

    我在 eclipse 中编写了这段代码来获取一些阿拉伯语单词 然后打印它们 public class getString public static void main String args throws Exception PrintS
  • 检查双精度值的等于和不等于条件

    我在比较两者时遇到困难double values using and 我创建了 6 个双变量并尝试进行比较If健康 状况 double a b c d e f if a b c d e f My code here in case of t
  • JTree 节点不会被直观地选择

    不知何故 我无法为我的 JTree 节点启用 选择突出显示 我正在我的项目中使用自定义单元格渲染器 这很可能导致此问题 这是完整的渲染器类代码 protected class ProfessionTreeCellRenderer exten
  • 如何对 IntStream 进行逆序排序

    我正在使用 txt 文件读取数字BufferedReader 我想颠倒该流中元素的顺序 以便在收集它们时 它们将从最高到最低排列 我不想在构建数组后进行排序 因为我不知道其中可能有多少元素 我只需要最高的 N 个元素 in new Buff
  • Java 重写 hashCode() 得到 StackOverflowError

    所以我不太熟悉重写 hashCode 并且我似乎在 hashCode 方法中以某种方式进行了一些无限递归 这是我的场景 我有一个 DuplicateCache 类 它是一个缓存对象 用于检查系统中的重复对象 我有一个静态内部类 Duplic
  • 使用 Java 在浏览器中下载 CSV 文件

    我正在尝试在 Web 应用程序上添加一个按钮 单击该按钮会下载一个 CSV 文件 该文件很小 大小仅约 4KB 我已经制作了按钮并附加了一个侦听器 文件也准备好了 我现在唯一需要做的就是创建单击按钮时下载 csv 文件的实际事件 假设 fi
  • 如何将 XMP XML 块序列化为现有的 JPEG 图像?

    我有许多 JPEG 图像 其中包含损坏的 XMP XML 块 我可以轻松修复这些块 但我不确定如何将 固定 数据写回图像文件 我目前正在使用 JAVA 但我愿意接受任何能让这项任务变得容易的事情 这是目标关于 XMP XML 的另一个问题
  • Install4j:如何在安装结束时执行命令行 java -jar filename.jar

    在 Intall4j 中 在安装结束时 我只想通过执行如下命令行来初始化某些内容 java jar filename jar 我怎样才能归档这个任务install4j Thanks 将 运行可执行文件或批处理文件 操作添加到 安装屏幕 并设
  • tomcat 过滤所有 web 应用程序

    问题 我想对所有网络应用程序进行过滤 我创建了一个过滤器来监视对 apache tomcat 服务器的请求 举例来说 它称为 MyFilter 我在 netbeans 中创建了它 它创建了 2 个独立的目录 webpages contain
  • 从 Java 日历迁移到 Joda 日期时间

    以前 当我第一次设计股票应用相关软件时 我决定使用java util Date表示股票的日期 时间信息 后来我体会到了大部分方法java util Date已弃用 因此 很快 我重构了所有代码以利用java util Calendar 然而
  • 将 RSA 密钥从 BigIntegers 转换为SubjectPublicKeyInfo 形式

    WARNING 最初的问题是关于 PKCS 1 编码密钥 而问题中的实际示例需要SubjectPublicKeyInfo X 509 编码密钥 我目前正致力于在 java 中从头开始实现 RSA 算法 特别是密钥生成方面 现在我的代码可以给
  • 来自客户端的超时 Web 服务调用

    我正在使用 RestEasy 客户端调用网络服务 一项要求是 如果调用运行时间超过 5 秒 则中止 超时调用 我如何使用 RestEasy 客户端实现这一目标 我只看到服务器端超时 即如果在一定时间内未完成请求 Rest Easy 网络服务
  • 我想要一个 Java 阿拉伯语词干分析器

    我正在寻找阿拉伯语的 Java 词干分析器 我找到了一个名为 AraMorph 的库 但它的输出是无法控制的 并且它会形成不需要的单词 还有其他阿拉伯语词干分析器吗 这是新的阿拉伯语词干分析器 Assem 的阿拉伯语轻词干分析器 http
  • struts 教程或示例

    我正在尝试在 Struts 中制作一个登录页面 这个想法是验证用户是否存在等 然后如果有错误 则返回到登录页面 错误显示为红色 典型的登录或任何表单页面验证 我想知道是否有人知道 Struts 中的错误管理教程 我正在专门寻找有关的教程 或
  • Java 编码风格、局部变量与重复方法调用

    我更喜欢使用局部变量而不是多次调用同一方法 I prefer this Vehicle vehicle person getVehicle if vehicle instanceof Car Car car Car vehicle car
  • 如何将实例变量传递到 Quartz 作业中?

    我想知道如何在 Quartz 中外部传递实例变量 下面是我想写的伪代码 如何将 externalInstance 传递到此作业中 public class SimpleJob implements Job Override public v
  • 使用 eclipse IDE 配置 angularjs

    我想开始使用 AngularJs 和 Java Spring 进行开发 我使用 Eclipse 作为 IDE 我想配置我的 Eclipse 以使这些框架无缝工作 我知道我可能要求太多 但相信我 我已经做了很多研究 你们是我最后的选择 任何帮

随机推荐

  • django修改请求对象

    我已经有一个 django 项目 它的逻辑如下 url URL 用户名 名称 pwd 密码 view def func request dic request GET username dic get username pwd dic ge
  • DHL 跟踪货件请求 - WSDL - PHP - SOAP

    第一次发帖 如有违反论坛规则等请原谅 我正在尝试使用 DHL api 来跟踪货件 这是我目前拥有的代码 client new SoapClient https wsbuat dhl com 8300 gbl glDHLExpressTrac
  • 在 Scala 中使用 Shapeless 折叠不同类型的列表

    据我所知 无形提供了HList 异质性list 类型 可以包含多种类型 可以折叠吗HList 例如 ref Composable application architecture with reasonably priced monad c
  • 部署 ASP.NET 站点时如何处理连接字符串?

    现在我们的测试和生产数据库位于同一服务器上 但名称不同 部署意味着编辑 Web config 以更改正确数据库的所有连接字符串 我经常忘记的一个步骤 我们终于创建了一个新的数据库服务器用于测试 我正在将数据库移过去 但现在服务器将有所不同
  • 在 Cython 中检查 nan

    我正在寻找一种方法来检查 Cython 代码中的 NaN 值 目前 我正在使用 if value value value is NaN else value is not NaN 有一个更好的方法吗 是否可以使用 Numpy 之类的函数is
  • 使用 kotlin 在 android 中获取屏幕截图的最简单方法是什么?

    我有一个 imageView 和几个 textView 我的应用程序允许用户将 textView 拖动到 imageView 的每个坐标上 imageView不是全屏的 该用户想要 换句话说 这个应用程序允许用户向用户图像添加多个标题 并将
  • Py4JError:JVM 中不存在 SparkConf

    我正在运行 pyspark 但有时它可能不稳定 有几次它在执行此命令时崩溃 spark conf SparkConf 并出现以下错误消息 File home user1 spark spark 1 5 1 bin hadoop2 6 pyt
  • 加载 Apple MAP 时的应用程序大小

    我正在努力解决一个看起来很简单的问题 但它使应用程序的运行大小达到 30 35 MB 该应用程序启用了 ARC 这是场景 1 我调用UIViewcontroller从我的方法中 viewController实例是该方法的本地实例 将其推送到
  • 安卓。文本输入布局。切换密码可见性事件侦听器?

    TextInputLayout 中有一个用于输入类型 textPassword 的密码可见性切换按钮 是否有可能捕获切换事件 我找不到任何公共方法 我查看了 TextInputLayout 的源代码以找到切换按钮的视图类型 它的 Check
  • OSError:无法识别图像文件

    我正在尝试在 pytorch 中执行 impelement 代码 但出现以下错误 我的python版本是3 6 我的操作系统是linux ubuntu 16 04 lts 我在 mac os 旁边安装了 linux 我们将使用 torchv
  • 如何使用 React-Query 处理多个查询

    我已经开始使用 React Query 如果我只需要从数据库中的单个集合中获取数据 它会非常有效 但是 我正在努力寻找一种查询多个集合以在单个组件中使用的好方法 一个查询 没问题 const isLoading isError data e
  • CakePHP Twitter 克隆:无法让关注系统工作

    抱歉 标题不具有描述性 但我不知道如何表达它 目前 我正在尝试使用 cakePHP 开发 Twitter 克隆 因为我是网络编程新手 我带了3张桌子 用户 ID 姓名 id是自动生成的id 用户名 推文 id 内容 user id id是自
  • 在终端上显示输出并将最后 10 行添加到日志文件中

    我需要运行一个脚本并将完整内容输出到终端 然后我想从终端输出中获取最后 10 行并将它们放入日志文件中 我尝试过使用 script sh 2 gt 1 tail 10 gt log log但这会停止向终端的输出 利用流程替代bash wit
  • 按列分组的查询结果的行号

    我有一个包含以下列的表 编号 fk id 接收日期 可能有多个记录具有共同的fk id 它代表相关表中的外键id 我需要创建一个查询 为每条记录分配行号 按 fk id 分组 按 rcv date 排序 我最初从以下查询开始 它对于排序和分
  • json_decode() 无法正常工作

    这里我使用简单的html jquery ajax文件 ajax代码在这里 var email email protected cdn cgi l email protection var username ankur 07 var pass
  • Celery Beat:如何定义定义为类的周期性任务(基于类的任务)

    到目前为止 我只处理过定义为函数的 Celery 任务 我曾经定义它们的周期性CELERYBEAT SCHEDULE范围 像这样 from datetime import timedelta CELERYBEAT SCHEDULE add
  • 在 Swift 中实现协议的 NSManagedObject 的 EXC_BAD_ACCESS 错误

    我有以下两种方法 func isAuthenticated gt Bool var currentUser CurrentUser self getCurrentUser if currentUser nil return false se
  • 为什么serverstatus对mongodb写操作有不好的影响?

    我有 1 个 mongos 3 个 mongod 和 3 个配置服务器 当我写一些文档时 有时其中一个 mongods 的插入速度很慢 并且 mongod 日志文件中出现 serverstatus was very Slow 为什么 版本是
  • 如何使用 sqlite3.exe 从导出的 .sql 脚本创建数据库

    尝试将 SqlCe 数据库转换为 SQLite 我将其导出到 sql文件 现在我将如何使用sqlite exe以此创建数据库 sql file 放在哪里sql3 exe file 在 cmd 提示符或在sqlite exe shell 使用
  • Java 数组具有多种数据类型

    我可以使用什么来存储多种不同类型的数据 Int String 等 我有 PHP 背景 我可以将不同类型的数据存储到数组中 但我不知道如何在 Java 中做到这一点 举个例子 array array val1 gt 1 val2 gt cat