Java方法命名约定的类型和类型差异?

Java方法命名约定的类型和类型差异?,java,Java,我正在读一本有效的Java书籍,我有一个关于方法命名约定的问题,我应该何时使用toType和asType?例如,我们有toString、toArray和asList。为什么我们不叫它toList而不用asList 这听起来是个愚蠢的问题,但我只是好奇其中的差异 我从另一个线程中读到,“如果方法返回相同的实例,但转换为另一种类型,请使用AsXXX方法。如果方法使用对象数据构造不相关类型的新实例,请使用ToXXX方法。”但是为什么它在Java中不同于数组到列表和列表到数组呢?可以通过数组来说明asX

我正在读一本有效的Java书籍,我有一个关于方法命名约定的问题,我应该何时使用toType和asType?例如,我们有toString、toArray和asList。为什么我们不叫它toList而不用asList

这听起来是个愚蠢的问题,但我只是好奇其中的差异


我从另一个线程中读到,“如果方法返回相同的实例,但转换为另一种类型,请使用AsXXX方法。如果方法使用对象数据构造不相关类型的新实例,请使用ToXXX方法。”但是为什么它在Java中不同于数组到列表和列表到数组呢?

可以通过
数组来说明
asX
toX
之间的区别

array.asList
获取一个数组并创建一个由该数组支持的列表:

返回指定数组支持的固定大小列表。(对返回的列表的更改“直写”到数组。)

它不会创建一个独立的列表

另一方面,像
toString
toArray
这样的方法创建一个新实例,它独立于创建它的输入


换句话说,
asX
获取一种类型的对象,并创建该对象的另一种类型的视图
toX
获取一个输入对象并创建一个不同类型的新对象,由输入对象初始化。

这是指当我将列表转换为数组时,将列表转换为其他类型,但从数组转换为列表时,它们只是将其包装。这是我不理解的部分,为什么它们在彼此之间有两种不同的转换方式?还有一点,我没有能力更改,我的意思是向返回的列表添加新元素,它在java.util.AbstractList.add(AbstractList.java:131)的线程“main”java.lang.UnsupportedOperationException中抛出这个错误“Exception”在java.util.AbstractList.add(AbstractList.java:91)“但是你是对的,我尝试将新元素添加到数组中,尽管我将它添加到asList之后,但仍然可以将其包含在列表中。现在完全有意义了,非常感谢:-)