Java方法命名约定toType和asType的区别?

amm*_*amm 8 java

我正在阅读Effective Java书籍,我对方法的命名约定有疑问,何时我应该使用toType和asType?例如,我们有toString,toArray和asList.为什么我们没有将它称为toList而不是使用asList?

这听起来很愚蠢,但我只是对这些差异感到好奇吗?

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

Era*_*ran 14

asX和之间的区别toX可以说明Arrays.asList.

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

返回由指定数组支持的固定大小的列表.(对返回列表的更改"直写"到数组.)

它不会创建独立列表.

另一方面,方法喜欢toStringtoArray创建一个独立于创建它的输入的新实例.

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