繁体   English   中英

字符串和可比接口

[英]String and Comparable Interface

对于Java分配,我必须使用Comparable接口按长度对ArrayList<String>进行排序。

我所做的并且能起作用的是在实现Comparable的类中创建一个自定义对象,并将CompareTo()设置为使用长度。 没关系,而且有效。

我只是想知道是否有更简单的方法。

我知道Java中的String已经实现了Comparable接口。 但是自然顺序是字典顺序或字母顺序,而不是长度顺序。 我不知道如何在不必创建对象的情况下为String类的实例实现不同的CompareTo() 有办法吗? 还是我错过逻辑?

(我不能使用Comparator ,而必须使用Comparable接口。)

我对那些将课程设置荒谬而又完全不切实际的限制的机构感到沮丧。

实际上 ,您将使用Comparator<String> ,它使您可以灵活地使用lambda来对结果进行排序。 它也非常简洁。

原则上 ,您描述的是唯一的其他逻辑方法。 你几乎可以解决这个问题的唯一方法是创建自己的类,它封装了String要实例,并且那种

听起来您的包装器对象是满足傻傻需求的最简单方法。 只需编写一个比较包含的字符串长度的方法即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM