標準の Java ライブラリとそのクラスを調べていると、それらのクラスのいくつかに、それらのクラスの原因とはほとんど関係のないメソッドが含まれていることに気付きました。
私が話しているメソッドは、たとえば、いくつかの「システムプロパティ」の値を取得するInteger #getInteger 、または名前によって目的が明確に定義されているSystem#arraycopyです。それでも、これらのメソッドはどちらも場違いに見えます。特に最初のメソッドは、何らかの理由でシステム リソースの操作をプリミティブ型のラッパー クラスにバインドします。
私の現在の観点からすると、このようなメソッド配置ポリシーは、基本的な OOP 設計原則に違反しているように見えます。つまり、各クラスは特定の問題のセットを解決することに専念しなければならず、それ自体をスイス アーミー ナイフに変えてはなりません。しかし、Java 設計者がバカだとは思わないので、これらのメソッドを正しい場所に配置するという決定の背後には何らかの論理があると思います。誰かがそのロジックが実際に何であるかを説明できれば幸いです。
ありがとう!
アップデート
Java には、激動の過去の残骸にすぎない非論理的な要素があるという事実をほのめかした人もいます。次に、私の質問を再定式化します。なぜ Java は、そのアーキテクチャ上の欠陥を非推奨としてマークすることをそれほど嫌うのでしょうか。コードを作成しましたか?