2016-05-03 17 views
0

私はすべての列が同じでデータベースに2つのレコードを持っていますが、2つの間に違いがある唯一の列はtxnCoという列です。したがって、次の行に挿入される列はより高い値を持ち、最後の行は高い値にしたいと考えています。 mysqlではmax関数を使うことができますが、Javaではmath.maxは数字ではないので使えません。どのようにして最良の方法でそれを行うにはどのような提案がありますか?2文字列の最大値を取得する方法

私は、文字列ごとにvalueOf関数を使用し、その2つを比較することを考えています。

+0

2つの文字列の「最大」はどういう意味ですか? (Lexicographic sort order?その比較では、 "50"が "100"より大きいことに注意してください)。このフィールドの内容は何ですか?実際に数値が含まれている場合は、スキーマに反映されるはずです。 –

+0

いくつかの値の例を追加し、比較する方法を示してください。 – hyde

答えて

2
strA.compareTo(strB); 

はあなたが探しているものです。

値が<の場合、最初の文字列は辞書順に2番目の文字列の前に表示されます。 > 0、第2は正面にある。 = 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(); 
関連する問題