在数组中存储2个不同的对象

2024-02-04

如何在数组中存储两个不同的对象?因此,当我有例如对象工人(“姓名”,“年龄”,工资单)时,另一个对象是计算机(“价格”,“规格”,“...”)。我将这些对象存储在一个类中。

class Record
{
  top = -1;
  private Worker array_w[];
  private Computer array_c[];

但我必须这样做:

 public void insert(Worker number) {
    if ((top + 1) < array_w.length)
     { top += 1; array_w[top] = number; }

 public void insert(Computer number) {
    if ((top + 1) < array_c.length)
     { top += 1; array_c[top] = number; }
 }

将每个对象插入到新类中。

我该如何做到只有一个数组可以存储任何对象。


我建议不要混合对象,但如果你必须有一个数组,你可以做一些事情:

让两个对象继承相同的对象,或者实现相同的接口:

public class Worker extends MyMainClass
public class Computer extends MyMainClass

OR

public class Worker implements IMyInterface
public class Computer implements IMyInterface

然后你有:

MyMainClass[] myArray;

OR

IMyInterface[] myArray;

(最好是接口)

或者,如果工作人员和计算机齐头并进,请编写一个包装器并将两者插入到同一索引中。

public class Wrapper {
    private Worker worker;
    private Computer computer;
    ...
}

public void insert(Wrapper wrapper) {
    ...
}

然后你就有一个数组:

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

在数组中存储2个不同的对象 的相关文章

  • HashMap不写入数据库

    我尝试在我的数据库中写入 但只写入发件人和消息 我不明白为什么会发生这种情况 我认为问题出在我使用 sendMessage 的地方 我认为问题是我没有什么可以做的读 写其他用户的主键 我在数据库中写入消息的活动 public class M
  • Java Try Catch Final 没有 Catch 的情况下会阻塞

    我正在审查一些新代码 该程序只有一个 try 和一个 finally 块 既然排除了 catch 块 那么如果 try 块遇到异常或任何可抛出的内容 它如何工作 它直接进入finally块吗 如果 try 块中的任何代码可以引发已检查异常
  • 将 jar 作为 Linux 服务运行 - init.d 脚本在启动应用程序时卡住

    我目前正在致力于在 Linux VM 上实现一个可运行的 jar 作为后台服务 我已经使用了找到的例子here https gist github com shirish4you 5089019作为工作的基础 并将 start 方法修改为
  • 使用 GWT CellTableBuilder 构建树表

    Is it possible to build a tree table like this http www sencha com examples ExamplePlace basictreegrid with the new Cell
  • Grails 2.3.0 自动重新加载不起作用

    我最近将我们的项目升级到 grails 2 3 0 一切工作正常 除了每当我更改代码时自动重新加载都无法工作的问题 这包括所有项目工件 控制器 域 服务 gsps css 和 javascript 文件 我的旧版本 grails 可以正常工
  • 无法使用maven编译java项目

    我正在尝试在 java 16 0 1 上使用 maven 构建 IntelliJ 项目 但它无法编译我的项目 尽管 IntelliJ 能够成功完成 在此之前 我使用maven编译了一个java 15项目 但我决定将所有内容更新到16 0 1
  • 为什么 java 编译器不报告 Intellij 中多播表达式的未经检查的强制转换警告?

    为什么下面的代码没有报告 Intellij IDEA 的未经检查的警告jdk 1 8 0 121自从Supplier
  • 使用 RecyclerView 适配器在运行时更改布局屏幕

    我有两个布局文件 如下所示 如果列表中存在数据 则我显示此布局 当列表为空时 我会显示此布局 现在我想在运行时更改布局 当用户从列表中删除最后一项时 我想将布局更改为第二张图片中显示的 空购物车布局 In getItemCount Recy
  • 无法在 Spring Boot 测试中模拟 persistenceContext

    我正在使用带有 Mockito 框架的 spring boot 测试来测试我的应用程序 存储库类 EntityManager 之一作为参考 我的班级如下所示 Repository Transactional Slf4j public cla
  • 如何获取 WebElement 的父级[重复]

    这个问题在这里已经有答案了 我试过了 private WebElement getParent final WebElement webElement return webElement findElement By xpath 但我得到
  • Java 服务器-客户端 readLine() 方法

    我有一个客户端类和一个服务器类 如果客户端向服务器发送消息 服务器会将响应发送回客户端 然后客户端将打印它收到的所有消息 例如 如果客户端向服务器发送 A 则服务器将向客户端发送响应 1111 所以我在客户端类中使用 readLine 从服
  • 将表值参数与 SQL Server JDBC 结合使用

    任何人都可以提供一些有关如何将表值参数 TVP 与 SQL Server JDBC 一起使用的指导吗 我使用的是微软提供的6 0版本的SQL Server驱动程序 我已经查看了官方文档 https msdn microsoft com en
  • Java 8 中函数式接口的使用

    这是来自的后续问题Java 8 中的 双冒号 运算符 https stackoverflow com questions 20001427 double colon operator in java 8其中 Java 允许您使用以下方式引用
  • RSA OAEP、Golang 加密、Java 解密 -BadPaddingException:解密错误

    我正在尝试解密使用 RSA OAEP 在 Golang 中加密的字符串 但出现 BadPaddingException 解密错误 很难弄清楚我错过了什么 这是Golang加密方法 func encryptString rootPEM io
  • Git 无法识别重命名和修改的包文件

    我有一个名为的java文件package old myfile java 我已经通过 git 提交了这个文件 然后我将我的包重命名为new所以我的文件在package new myfile java 我现在想将此文件重命名 和内容更改 提交
  • 无法捕获 Spring Batch 的 ItemWriter 中的异常

    我正在编写一个 Spring Batch 流程来将数据集从一个系统迁移到另一个系统 在这种情况下 这就像使用RowMapper实现在传递给查询之前从查询构建对象ItemWriter The ItemWriter称为save我的 DAO 上的
  • 解决错误javax.mail.AuthenticationFailedException

    我不熟悉java中发送邮件的这个功能 我在发送电子邮件重置密码时遇到错误 希望你能给我一个解决方案 下面是我的代码 public synchronized static boolean sendMailAdvance String emai
  • Hibernate 和可序列化实体

    有谁知道是否有一个框架能够从实体类中剥离 Hibernate 集合以使它们可序列化 我查看了 BeanLib 但它似乎只进行实体的深层复制 而不允许我为实体类中的集合类型指定实现映射 BeanLib 目前不适用于 Hibernate 3 5
  • Android AutoCompleteTextView 带芯片

    我不确定我是否使用了正确的词语来描述此 UI 功能 但我已附上我希望在我的应用程序中实现的目标的快照 它由 Go SMS 使用 用户在编辑文本中键入联系人 在用户从完成下拉列表中选择联系人后 该联系人将被插入到编辑文本中 如附图所示 编辑文
  • 在哪里存储 Java 的 .properties 文件?

    The Java教程 http download oracle com javase tutorial essential environment properties htmlon using Properties 讨论如何使用 Prop

随机推荐

  • 强制元类的只读属性

    是的 还在继续有了这个 https stackoverflow com questions 70729700 enforcing single instances from the metamodel 我的印象是 Raku 有这个强大的功能
  • 如何在 php 中安装 posix

    当我运行时 POSIX 没有出现php m cmd 然而 我从phpinfo enable posix shared在装有 Plesk 9 的 Linux 上 基本上我无法使用posix 功能如所述http www php net manu
  • 如何扩展pyserial的输入缓冲区大小

    我想通过串口与手机通信 向手机写入一些命令后 我使用了ser read ser inWaiting 得到它的返回值 但我总是得到总数1020 bytes字符 实际上 期望的回报应该已经结束50KB 我尝试过设置ser read 50000
  • 检测由 Tab 键启动的焦点?

    我想检测元素的焦点事件 但前提是该事件是由用户按 Tab 键启动的 例如
  • 什么更快?运行空函数或检查函数是否未定义? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在编写一些代码 其中作为参数传入的函数有时可能是未定义的 我很好奇这是一种不好的 做法 我想知道什么实际上更快 给出一个空函数 或者让函数检
  • 显示“No Javascript”div,但不向 google / facebook 共享服务显示

    我想在网站顶部附近显示一个 div 以建议未启用 JavaScript 的访问者启用 JavaScript 我想我已经通过使用 noscript 标签找到了一个好方法 不幸的是 我发现这个解决方案不太理想 因为谷歌的索引器和 Faceboo
  • Oracle - 使用存储过程创建文本文件

    需要有关在 Oracle 10 中使用存储过程创建文本文件的帮助 我对此很陌生 所以请从头开始指导我 我找到了代码并将其创建为存储过程 我运行它并且它是有效的 但我执行了它 我得到了错误 INVALID FILE NAME AT SYS U
  • jQuery 动画 div 大小

    我有一个具有隐藏可见性的 div 我将数据库中的文本放入该 div 中 因此不知道它的高度 我想做的是制作一个动画 该动画会增加该 div 的大小 直到所有文本都可见 到目前为止我所拥有的是这样的 function display form
  • 每种方法的 ASP.NET WebAPI 支持的媒体类型

    给定控制器中的一个方法 public class CustomerController ApiController HttpGet public CustomerDto GetById FromUri int id return custo
  • 关于 iPhone 的 Cocoa/Objective-C 命名约定的问题(关于发布和自动发布)

    您能否描述返回为调用者分配的对象 调用者应释放的对象 的方法与返回自动释放对象的方法之间的命名约定差异 返回保留对象 调用者应释放该对象 的方法应包含单词copy new mutableCopy or alloc 如在alloc init一
  • Apache DBUtils - 存储过程

    apache dbutils库是否可以调用oracle存储过程 Yes QueryRunner run JDBCConnectionFactory getQueryRunner database Connection conn run ge
  • phantomjs exit() 不会终止进程

    我在 Windows 7 上使用 phantom js 已经有一段时间了 我认为 v1 4 0 是我使用的第一个版本 一切都很好 但由于某种原因 当调用 phantom exit 时 该进程不再正确终止 我绝对不知道为什么 这个问题从v1
  • Javascript - 提升的优先级

    在提升中 变量优先于函数定义还是反之亦然 请看下面的代码 function a var x 10 function x return 20 return x 这不是一个优先于另一个的问题 存在优先级 但这在很大程度上只是语义问题 这里重要的
  • 禁用 Android 日期选择器中的特定日期

    我正在使用 datePicker 我可以通过以下代码禁用今天的最后几天和 30 天后的几天 DatePickerDialog datePicker new DatePickerDialog Calendar calender Calenda
  • 自定义属性错误 - Android Studio 1.2

    在我的 Android 项目中 我有几个使用自定义属性的自定义组件 attrs xml 文件如下所示
  • SAVON是否支持客户端证书认证

    我正在评估 savon 的消费 Web 服务 但我没有找到任何信息 如果我可以使用 SSL 客户端证书对提供 SOAP Web 服务的服务器进行身份验证 我阅读了文档但没有找到任何相关内容 有谁知道SAVON是否支持客户端证书认证 问候 法
  • WCF 客户端端点压缩

    我正在尝试使用 netTCP 端点为我们的 WCF 服务实现压缩 我已经阅读了几乎所有开发者网络帖子以及 SO 上的帖子 但无济于事 如何配置客户端端点CompressionFormat 参见压缩和二进制编码器 http msdn micr
  • 删除 csv 文件中的字段内引号

    假设我们有一个逗号分隔的文件 csv 如下所示 name of movie starring director release year dark knight rises christian bale anna hathaway chri
  • 如何取消PHP中的CURL时间限制?

    我正在运行一个相当长的脚本 它获取指定域的内容并解析 html 然后再对所述 html 运行一系列测试 无论如何 脚本在一段时间后超时 我尝试将其放在页面顶部 但仍然没有成功 set time limit 0 这是有问题的错误 cURL e
  • 在数组中存储2个不同的对象

    如何在数组中存储两个不同的对象 因此 当我有例如对象工人 姓名 年龄 工资单 时 另一个对象是计算机 价格 规格 我将这些对象存储在一个类中 class Record top 1 private Worker array w private