[英]How can I match a char at a specific index in a string?
我有一个简单的字符串,试图确定特定的索引是否导致特定的字符。
我正在尝试这样做(但出现编译错误):
if(myString.charAt(7).equals("/")) {
// do stuff
} else {
// do other stuff
}
错误:
Type mismatch: cannot convert from char to boolean
(myString.charAt(7).equals("/")
应该跟随,因为charAt()
返回char:
myString.charAt(7) == '/'
if(myString.charAt(7)== '/') {
// do stuff
} else {
// do other stuff
}
将字符放在双引号中会使它成为String
。 单引号使它成为char
。 然后将字符与文字==
进行比较,而将Objects
与equals方法进行比较
这个答案有几个解决方案,可以为您提供可能要尝试做的事情,即将一个字符与另一个字符进行比较。 我不会再说了,因为他们做得很好。
但是如果愿意,您仍然可以使用String并为将来做准备。 (也许“ /”更改为“ //”?),您可以这样做:
if(myString.substring(7,8).equals("/")) {
// stuff
}
然后在路上你可能会像
public static final String SEPARATOR_STRING = "//";
public static final int SEPARATOR_START = 7;
public static final int SEPARATOR_END = 7 + SEPARATOR_STRING.length();
// later
if(myString.substring(SEPARATOR_START,7SEPARATOR_END).equals(SEPARATOR_STRING)) {
// stuff
}
charAt()
返回char,而不是对象,因此您需要通过以下方式进行比较:
if(myString.charAt(7)== '/') {
...
注意/
周围的单引号。
if(myString.substring(7,8).equals("/"))
要么
if(myString.charAt(7)=='/')
要么
if(myString.indexOf("/"))==7) can be use
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.