我正在尝试创建一个匹配商标百分比的正则表达式
例如,如果我们考虑很少的百分比
1)100%
2)56.78%
3)56 78.90%
4)34.6789%
Run Code Online (Sandbox Code Playgroud)
匹配的百分比应该是
100%
56.78%
34.6789%
Run Code Online (Sandbox Code Playgroud)
我做了一个表达,"\\d.+[\\d]%"但它也匹配56 78.90%我不想要的.
如果有人知道这样的表达请分享
我有一个关于类型参数的基本问题,这是我在解决问题时遇到的.
我有一个字符串数组的类,我使用自定义Comparator类进行排序.下面是我的Comparator课程
class SortComparator implements Comparator<String>
{
@Override
public int compare(String o1, String o2) {
// TODO Auto-generated method stub
return o1.compareTo(o2);
}
}
Run Code Online (Sandbox Code Playgroud)
上面的类运行正常并输出所需的结果.
如果类名更改SortComparator为SortComparator<String>compare方法则需要更改.更改后的类看起来像这样
class SortComparator<String> implements Comparator<String>
{
@Override
public int compare(String o1, String o2) {
// TODO Auto-generated method stub
return ((java.lang.String) o1).compareTo((java.lang.String) o2);
}
}
Run Code Online (Sandbox Code Playgroud)
上面的类也运行良好并输出所需的结果
为什么有需要显式转换String对象o1,并o2到java.lang.String时候他们已经是同一类的对象?
我在网上搜索了一段时间的查询,发现了一个非常相似的问题
将两个Integers与我自己的Comparator进行比较
这个问题的答案说是因为shadowing.
我知道局部变量,实例变量和类变量方面的阴影,但在这种情况下它是如何工作的?