Aru*_*boj 9 java android string-comparison
我应该如何比较两个CharSequences的两个字符?
这是我的两个CharSequence:
CharSequence name1 = fname.getText();
CharSequence name2 = sname.getText();
Run Code Online (Sandbox Code Playgroud)
如果我尝试比较这样:
if(name1[i] == name2[j])
Run Code Online (Sandbox Code Playgroud)
..给了我错误.
使用CharSequence.html#charAt(int)获取char 指定位置.然后,您可以比较char同==
关于问题中的代码,这将导致
if(name1.charAt(i) == name2.charAt(j))
Run Code Online (Sandbox Code Playgroud)
如果可能比较两个Strings,
而不是ChracterSequence比较像,
String name1 = edtTextName1.getText().toString().trim();
String name2 = edtTextName2.getText().toString().trim();
if(name1.equals(name2))
{
Log.i("Result","True");
}
else
{
Log.i("Result","false");
}
Run Code Online (Sandbox Code Playgroud)
String name1 = editText1.getText().toString();
String name2 = editText2.getText().toString();
Run Code Online (Sandbox Code Playgroud)
要比较charString 中的特定值,您char charAt(int)也可以使用类型中的方法String。这是使用示例:
if(name1.charAt(2) == name2.charAt(0)){
// Do your stuff
}
Run Code Online (Sandbox Code Playgroud)
你必须记住它char charAt(int)是从零开始的,所以 0 是第一个,1 是第二个,依此类推。在这个例子中,你可以看到我比较了两个字符,就像我比较integers一样 - 与 simple ==。
比较整体String:
// This returns true if Strings are equal:
name1.contentEquals(name2);
// This returns 0 if Strings are equal:
name1.compareTo(name2);
Run Code Online (Sandbox Code Playgroud)
为了使其不区分大小写,您可以在两个 s 上使用Stringtype方法。toLowerCase()String
name1.equalsIgnoreCase(name2);
Run Code Online (Sandbox Code Playgroud)
或者:
name1.toLowerCase().contentEquals(name2.toLowerCase());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
46588 次 |
| 最近记录: |