我正在用Java编写一个项目,我正在查看频率字符出现在文本中的每个其他字符之后。当我收集结果时,我将它们存储在int
的二维数组中。但是,在相同的结果表中,我想存储一些关于整个事情的结果。
是否有可能有一个数组,其中一些元素是数组,其他元素是基元?
答案 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 []),但最好为结果创建一个新的存储