比较两个数字字符串值

我有一个简单的疑问。 如果有人帮助我会很棒。

我有两个字符串:

String string1 = "4"; // and String string2 = "04"; 

两个值都相等,但如何在java中比较它们? 我们有equalsequalsIgnoreCase用于比较String alpha值,类似于如何比较数值。

 Integer.parseInt("4") == Integer.parseInt("04") 

这就对了。 您可以使用Integer.parseInt(String)方法将数字字符串转换为整数,该方法返回int类型。 然后比较与4 == 4相同。

 Integer.valueOf(string1).equals(Integer.valueOf(string2)); 

不要忘记BigInteger很长的值。

 return new BigInteger(s1).compareTo(new BigInteger(s2)); 

使用Integer类将字符串转换为整数。

http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html#parseInt%28java.lang.String%29

 Integer.parseInt(string1) == Integer.parseInt(string2) 

跳过将其解析为int以处理任意大数,仅比较字符串。 作为奖励,它也适用于十进制数字(除非有尾随零,你可能可以用锚定字符串结尾来做类似的事情)。

如果您确定没有空格字符,则可以省略修剪

  String string1 = "4"; // and String string2 = "04"; String noLeadingZeroes1 = string1.trim().replaceFirst("^0+(?!$)", ""); String noLeadingZeroes2 = string2.trim().replaceFirst("^0+(?!$)", ""); System.out.println(noLeadingZeroes1.equals(noLeadingZeroes2));