Java - 检查数字中的数字是否相同?

时间:2018-01-07 13:40:50

标签: java

是否有JDK方法可以知道我是否包含111222333等所有非不同数字。

我知道我们可以通过循环来实现,但有更好的方法吗?

3 个答案:

答案 0 :(得分:4)

您可以将String::matches与正则表达式(\d)\1*一起使用,如下所示:

boolean distinct = String.valueOf(111).matches("(\\d)\\1*");

答案 1 :(得分:1)

没有内置方法可以帮助您,但是,另一种变体是:

public static boolean someMethodName(String input){          
       return input.chars().distinct().limit(2).count() == 1;
}

然后,如果需要,您可以在对参数进行操作之前对其执行验证。即它是null等等。

答案 2 :(得分:0)

我认为正则表达式可以帮助你,但在人说不正确之前。它会帮助你。

String.valueOf( yourNumber ).matches( "\\d{2,}" )

这是你问题的正确正则表达式。