私はJavaのプロジェクトを行っていますが、私は周波数文字がテキスト内の文字の後に現れるのを見ています。私が結果を集めているとき、私はそれらを2dの配列int
に格納しています。しかし、同じ結果の表では、すべてのことについていくつかの結果を保存したいと思います。配列とプリミティブの両方をJavaで配列に含めることはできますか?
いくつかの要素が配列であり、その他がプリミティブである配列を持つことは可能ですか?
私はJavaのプロジェクトを行っていますが、私は周波数文字がテキスト内の文字の後に現れるのを見ています。私が結果を集めているとき、私はそれらを2dの配列int
に格納しています。しかし、同じ結果の表では、すべてのことについていくつかの結果を保存したいと思います。配列とプリミティブの両方をJavaで配列に含めることはできますか?
いくつかの要素が配列であり、その他がプリミティブである配列を持つことは可能ですか?
はい、ラップInteger
(プリミティブではないint
)である必要がありますが、Object[]
を持ち、タイプを混合して保存できます。 (注意:あなたは「カンニング」と単一要素の配列int[]
として各int
を保存し、したがってオブジェクトなったが、「自宅でこれをしようとしていない」でした)
しかし、たとえあなたができれば、配列ISN正しいアプローチではありません。代わりに、このためのクラスを作成します。 (プリミティブラッパークラスにAutoBoxのでしょう)あなたはObject
Sを保存する必要がありますその場合は
public class FrequencyAnalysis {
private int[] frequencies;
private String info;
private Date lastRun;
// etc
}
、あなたがエントリを読んだとき、あなたはその後、instanceof
Object
とする必要があるでしょう:
このような何かを試してみてくださいそれを安全にキャストしてください。
あなたは箱入りタイプを使用することができ、すなわち、java.lang.Integerのは、(だからあなたの配列型は[]オブジェクトでなければなりません)が、より良い結果を保管するために
いいえ、それは動作していないが、新しいクラスを作成します。 1つの配列内にはオブジェクトまたはプリミティブしか存在できません。それ以外の方法は回避策に過ぎません。
(+1)です。 – Ralph
BTW 'int []'はプリミティブではなく、オブジェクトであり、オブジェクトの配列に含めることができます。最初に質問にどのように答えたのかは –