教程对象排序指的是"自然排序"的概念:
如果List包含String元素,它将按字母顺序排序.如果它由Date元素组成,它将按时间顺序排序.这是怎么发生的?String和Date都实现了Comparable接口.可比较的实现为类提供了自然的顺序,允许该类的对象自动排序.下表总结了一些实现Comparable的更重要的Java平台类.
术语"自然排序"是特定于Java还是与语言无关?例如,我可以谈谈Ruby中的"自然排序"吗?
(注意:我不是在谈论自然排序,在Jeff Atwood的博客文章中为人类排序:自然排序顺序)
这不是对自然排序类型的引用,其中字符串内的数字是"自然地"排序而不是按字典顺序逐位排序.Java以不同方式定义术语.
让我们改变重点:
Comparable实现为类提供了自然顺序,允许自动对该类的对象进行排序.
"自然"一词意味着如果您实现,Comparable那么您的类的用户可以轻松地对其进行排序,而无需自定义比较器.分类是自然的; 它是内置的; 它是免费的,不需要思考.
术语"自然排序"是特定于Java还是与语言无关?
是.不是吗?它是特定于Java的,因为文档将该术语用于斜体,并且有一种naturalOrder方法.但是,这个概念适用于其他语言.
例如,我可以谈谈Ruby中的"自然排序"吗?
你可以.如果你正在谈论袖口,你可以使用这个词.如果你正式写作,那么定义它是明智的.由于阿特伍德对这个术语的使用感到困惑,我更喜欢另一个.说,"默认订购".