相关疑难解决方法(0)

startsWith()方法的字符串忽略大小写

我想使用startsWith()方法,String但忽略了这种情况.

假设我有String"Session"而我startsWith在"sEsSi"上使用它应该返回true.

java string

97
推荐指数
3
解决办法
8万
查看次数

了解CaseInsensitiveComparator中的逻辑

任何人都可以解释以下代码String.java,特别是为什么有三个if语句(我已经标记//1,//2并且//3)?

private static class CaseInsensitiveComparator
                     implements Comparator<String>, java.io.Serializable {
// use serialVersionUID from JDK 1.2.2 for interoperability
private static final long serialVersionUID = 8575799808933029326L;

    public int compare(String s1, String s2) {
        int n1=s1.length(), n2=s2.length();
        for (int i1=0, i2=0; i1<n1 && i2<n2; i1++, i2++) {
            char c1 = s1.charAt(i1);
            char c2 = s2.charAt(i2);
            if (c1 != c2) {/////////////////////////1
                c1 = Character.toUpperCase(c1);
                c2 = Character.toUpperCase(c2);
                if (c1 != c2) {/////////////////////////2
                    c1 = …
Run Code Online (Sandbox Code Playgroud)

java string jdk1.6

25
推荐指数
4
解决办法
2761
查看次数

Java:equalsIgnoreCase + message.startswith?

得到一个问题:

我如何组合message.equalsIgnoreCase和message.startswith()?

即:

if (message.startsWith("!spoiler")) {
    String name = sender;
    if (!name.equalsIgnoreCase(ownerchannel)){
        try {
            String spoiler = message.split("!spoiler ")[1];
            sendMessage(channel, "/timeout "+name+" 1");
            if(englishmode == true){
                sendMessage(channel, "Spoiler from "+name+" deleted. Click at 'message deleted' above to read it!");
            }else{
                sendMessage(channel, "Spoiler von "+name+" wurde zensiert. Wer diesen lesen möchte klickt einfach oben auf 'message deleted'.");
            }
        } catch (Exception e) {
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,!剧透xyz会触发它但是!Spoiler xyz不会.我怎样才能将它与开始+ + ignorecase结合起来?

java ignore-case

3
推荐指数
1
解决办法
2358
查看次数

标签 统计

java ×3

string ×2

ignore-case ×1

jdk1.6 ×1