我在数据库中有两条记录,所有列都相同,两者之间唯一有区别的列是名为 txnCo 的列。因此,下一个插入的列将具有更高的值,我想获得更高的最后一个值。在 mysql 中我可以使用 max 函数,但在 Java 中我不能使用 math.max 因为这些不是数字。那么有人有什么建议如何以最好的方式做到这一点吗?
我正在考虑对每个字符串使用 valueOf
函数并比较两者。
最佳答案
strA.compareTo(strB);
这就是您正在寻找的内容。
如果该值 < 0,则第一个字符串按字典顺序位于第二个字符串之前。 > 0,第二个在前面。 = 0,它们相等。
String.compareTo() in the Java API docs .
问题 How do I compare strings in Java? 中也对此进行了描述
请注意 - 它的定义方式可能与 SQL 比较的方式不完全相同,具体取决于编码等。
如果将所有字符串放入任何有序集合(例如 TreeSet
)中,则可以像往常一样提取第一个/最后一个,集合“知道”字符串的自然顺序字符串。
TreeSet<String> set = new TreeSet<>();
set.add("string1");
set.add("string2");
// ... //
String minString = set.first();
String maxString = set.last();
关于java - 如何获得最多2个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37010201/