我不確定如何去比較兩個版本字符串,並在版本名稱中包含對「SNAPSHOT」的支持。比較版本(字符串)
舉例: 我有兩個版本字符串,「1.9.9」和「2.0.0」。如果第二個字符串大於第一個字符串,我想返回一個布爾(真)。我用過這個: https://stackoverflow.com/a/6702029/1442718
它完美地工作。
但是,像這樣的例子不適用於該代碼: 我有兩個版本字符串,「2.0.0-SNAPSHOT」和「2.0.0」。很明顯,SNAPSHOT是2.0.0之後的一個版本,但是這種方法不會選擇它並拋出NumberFormatException,而不是返回-1,這意味着它是下面的版本。
有什麼建議嗎?謝謝。
在字符串中搜索「-SNAPSHOT」,並在數字比較中使用位於其前面的子字符串 – jalynn2
您可以使用boolean isSnapshot1 = str1.endsWith(「SNAPSHOT」)'。在版本號相等的情況下,「快照」 - 一個贏。如果兩者都是快照並且版本相同,則無法區分它們的順序。 – Turing85
檢查你的字符串,看看它是否包含「SNAPSHOT」contains(「SNAPSHOT」),並用'replace(「SNAPSHOT」,「」)將其從字符串中移除' – Armaiti