charAt 不能取消引用
charAt cannot be dereferenced
尝试 FizzBuzz 问题,但是我遇到了问题“charAt cannot be dereferenced”。下面是我的代码供参考。
public String fizzString(String str) {
if ((str.charAt(0).equals('f'))&&(str.charAt((str.length)-1).equals('b'))){
return "FizzBuzz";
}
else if (str.charAt(0).equals('f')){
return "Fizz";
}
else if (str.charAt((str.length)-1).equals('b')){
return "Buzz";
}
else{
return "FizzBuzz";
}
}
让我们看下面的例子:
String str = "fab";
System.out.println(str.charAt(0) == 'f'); //true
System.out.println(str.charAt(0).equals('f')); //error: Cannot invoke equals(char) on the primitive type char
System.out.println(Character.toString(str.charAt(0)).equals("f")); //true
System.out.println(str.startsWith("f")); //true
如果 str
是空字符串怎么办:
String str = "";
System.out.println(str.charAt(0) == 'f'); //java.lang.StringIndexOutOfBoundsException
System.out.println(str.charAt(0).equals('f')); //error: Cannot invoke equals(char) on the primitive type char
System.out.println(Character.toString(str.charAt(0)).equals("f")); //java.lang.StringIndexOutOfBoundsException
System.out.println(str.startsWith("f")); //false
现在我想你已经知道使用 String.startsWith
和 String.endsWith
比 String.charAt
更好。
尝试 FizzBuzz 问题,但是我遇到了问题“charAt cannot be dereferenced”。下面是我的代码供参考。
public String fizzString(String str) {
if ((str.charAt(0).equals('f'))&&(str.charAt((str.length)-1).equals('b'))){
return "FizzBuzz";
}
else if (str.charAt(0).equals('f')){
return "Fizz";
}
else if (str.charAt((str.length)-1).equals('b')){
return "Buzz";
}
else{
return "FizzBuzz";
}
}
让我们看下面的例子:
String str = "fab";
System.out.println(str.charAt(0) == 'f'); //true
System.out.println(str.charAt(0).equals('f')); //error: Cannot invoke equals(char) on the primitive type char
System.out.println(Character.toString(str.charAt(0)).equals("f")); //true
System.out.println(str.startsWith("f")); //true
如果 str
是空字符串怎么办:
String str = "";
System.out.println(str.charAt(0) == 'f'); //java.lang.StringIndexOutOfBoundsException
System.out.println(str.charAt(0).equals('f')); //error: Cannot invoke equals(char) on the primitive type char
System.out.println(Character.toString(str.charAt(0)).equals("f")); //java.lang.StringIndexOutOfBoundsException
System.out.println(str.startsWith("f")); //false
现在我想你已经知道使用 String.startsWith
和 String.endsWith
比 String.charAt
更好。