是否有可能在Java中包含包含数组和基元的数组?

时间:2011-12-12 12:42:09

标签: java arrays multidimensional-array

我正在用Java编写一个项目,我正在查看频率字符出现在文本中的每个其他字符之后。当我收集结果时,我将它们存储在int的二维数组中。但是,在相同的结果表中,我想存储一些关于整个事情的结果。

是否有可能有一个数组,其中一些元素是数组,其他元素是基元?

4 个答案:

答案 0 :(得分:3)

是的,您可以拥有Object[]并存储混合类型,但它必须是包装器Integer(不是原始int)。 (注意:您可以“欺骗”并将每个int保存为单个元素数组int[],从而使其成为一个对象,但“不要在家中尝试这个”)

但即使你可以,阵列也不是正确的方法。相反,为此创建一个类。

尝试这样的事情:

public class FrequencyAnalysis {
    private int[] frequencies;
    private String info;
    private Date lastRun;
    // etc
}

答案 1 :(得分:1)

不,它不起作用。一个数组中只能有对象OR基元。其他任何事情都只是一种解决方法。

答案 2 :(得分:0)

在这种情况下,您必须存储Object s(原语将autobox存储到Wrapper类),然后当您阅读条目时,您需要instanceof Object然后执行安全。

答案 3 :(得分:0)

你可以使用盒装类型,即java.lang.Integer(所以你的数组类型必须是Object []),但最好为结果创建一个新的存储