相同阵列中的不同变量类型?(Java)



我正在创建的程序中,一个方法正在使用不同数组的!对我来说,很难跟踪所有。那么,为什么不将它们组合成一个多维数组呢?我的问题是如何将String[]阵列与Object[]阵列组合?

有人能帮我吗?

这听起来像是你缺少了一个抽象,如果你的所有数组都是相同的长度,那么你可能应该定义一个类;具有所有公共字段的记录类型数据结构(如果您的数据应该是不可变的,则添加final)或具有getter和setter的JavaBean。很多基元值数组都是非常过程化的,Java是一种面向对象的语言,所以在设计中使用它。

添加到@styfle的评论;如果他们不相关,你为什么要这样做?如果它们是相关的,为什么不定义类?

如果声明一个特定类型的数组,则所有子类型都可以存储在该数组中。例如

  Object myArray[];

现在可以存储任何对象、字符串、日期、JButtons等。但是,当您从数组中检索项目时,这可能很危险。你必须确保你对它们的解释是正确的。如果您在其中存储了错误类型的对象,编译器将无法警告您。

更好的方法可能是创建自己的集合对象,以类型安全的方式存储所有各种项目。

一个选项是使用ArrayList<Superclass[]>,其中超类是您使用的所有内容都继承自的某个类。如果没有这样的类,则使用Object。

您可以使用Object[][],因为String是对象。

为什么不使用一个Object并将所有数组放入其中。

相关内容

  • 没有找到相关文章

最新更新