在 Java 中,我想将数组转换为列表。鉴于 Java 是一种 OOP 语言,我希望这样做:
int[] myArray = { 1, 2, 3 }; // non-working code
List myList = myArray.toList();
但是当我发现array
对象没有 toList 方法并且做我想要的正确方法是:
int[] myArray = { 1, 2, 3 }; // working Java code
List myList = Arrays.asList(myArray);
起初我想知道 anint[]
是否不被视为对象,但我能够调用诸如clone()
on 之类的方法,所以我确定它是一个对象。
为什么 Java 的设计者使用第二种方法(与 OOP 不一致的静态方法)而不是第一种方法(在与 OOP 原则一致的对象上进行操作)?
我注意到 C++ 也做了类似于第二种方法的东西,我认为这是 C 留下的包袱。但在 C# 中,有一种ToList()
方法。
只是Arrays.asList()
对面向 OOP 的进化进程的坚持,还是有一些潜在的理论可以这样做?