Java方法命名约定的类型和类型差异?
我正在读一本有效的Java书籍,我有一个关于方法命名约定的问题,我应该何时使用toType和asType?例如,我们有toString、toArray和asList。为什么我们不叫它toList而不用asList
这听起来是个愚蠢的问题,但我只是好奇其中的差异
我从另一个线程中读到,“如果方法返回相同的实例,但转换为另一种类型,请使用AsXXX方法。如果方法使用对象数据构造不相关类型的新实例,请使用ToXXX方法。”但是为什么在Java中数组到列表和列表到数组是不同的呢
# 1 楼答案
asX
和toX
之间的区别可以用Arrays.asList
来说明Arrays.asList
获取一个数组并创建该数组支持的列表:它不会创建一个独立的列表
另一方面,像
toString
和toArray
这样的方法会创建一个独立于创建它的输入的新实例换句话说,
asX
接受一种类型的对象并创建该对象的另一种类型的视图toX
接受一个输入对象并创建一个不同类型的新对象,由输入对象初始化