Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 字符串和可比较接口_Java - Fatal编程技术网

Java 字符串和可比较接口

Java 字符串和可比较接口,java,Java,对于Java赋值,我必须使用Comparable接口按长度对ArrayList进行排序 我所做的是在类中创建一个自定义对象,该类实现了Comparable,并将CompareTo()设置为使用长度。 没关系,而且很有效 我只是想知道有没有更简单的方法 我知道Java中的String已经实现了Comparable接口。 但自然顺序是按字典或字母顺序,而不是按长度。 我不知道如何为类String的实例实现不同的CompareTo(),而不必创建对象。 有办法吗? 还是我错过了逻辑 (我不能使用Com

对于Java赋值,我必须使用
Comparable
接口按长度对
ArrayList
进行排序

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

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

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


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

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

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

我对那些将课程强加给荒谬和完全不现实的约束的机构感到失望

实际上,您将使用
比较器
,它允许您灵活地使用lambdas对结果进行排序。它也非常简洁


原则上,您所描述的是唯一其他合乎逻辑的方法。实际解决这个问题的唯一方法是创建自己的类来封装所需的
字符串
实例,并对其进行排序。

我对那些将课程强加在荒谬和完全不现实的约束中的机构感到失望

实际上,您将使用
比较器
,它允许您灵活地使用lambdas对结果进行排序。它也非常简洁


原则上,您所描述的是唯一其他合乎逻辑的方法。实际解决这个问题的唯一方法是创建自己的类来封装所需的
字符串
实例,并对其进行排序。

。你为什么不能用比较仪呢?大学作业很不幸:我也不懂!我能找到的所有关于comparator的例子都是因为comparator是比较简单的方法,但听起来教授希望您了解重写和接口是如何工作的等等。有很多更简单的方法,但听起来教授不允许您使用其中任何一种。考虑到这个作业的限制,我认为你所做的是相当合理的。是的,
String
是最终的,所以你不能对它进行子类化;您必须创建自己的包装器类。你为什么不能用比较仪呢?大学作业很不幸:我也不懂!我能找到的所有关于comparator的例子都是因为comparator是比较简单的方法,但听起来教授希望您了解重写和接口是如何工作的等等。有很多更简单的方法,但听起来教授不允许您使用其中任何一种。考虑到这个作业的限制,我认为你所做的是相当合理的。是的,
String
是最终的,所以你不能对它进行子类化;您必须创建自己的包装器类。当长度相等时,可能会调用
String.compareTo()
。@Erick不会,除非已指定。并且可能会调用
String.compareTo()
当长度相等时?@Erick除非特别说明,否则不会。我同意事实上,它们只是在刚刚开始学习的人的头脑中制造混乱!!!非常感谢你的回答,盖伊,我同意事实上他们只是在刚刚开始学习的人的头脑中制造混乱!!!谢谢你们的回答,伙计们