String には長さのメソッドがあり、Array には可変長がある理由について、特定の設計/パフォーマンス上の理由がありましたか?
質問する
8792 次
1 に答える
8
Array
Java には (リフレクションを除いて) クラスはありません。配列は Java の一種の「プリミティブ」であり、宣言されたクラスとは異なる規則に従って機能します。
確かに配列に対してメソッドを定義することもできましたが、設計者は疑似メソッドではなくプロパティとしてlength()
保持したいと考えていました。length
(部分的には、これにより初期の Java 実装が容易になった可能性があります。) その理由は、歴史の中にいくらか埋もれています。
(より適切な質問は、Java が概念を「長さ」、「カウント」、または「サイズ」と呼ぶかどうかを決定できなかった理由です。集約クラスの適切な概念を見つける前に、私は常に 3 つすべてを試してしまいます。)
于 2012-08-22T22:44:00.410 に答える