Java 比较字符串(索引)
如何使用精确索引比较两个数组 比如说Java 比较字符串(索引),java,android,Java,Android,如何使用精确索引比较两个数组 比如说 String[] test1 = {"a","b","c","d"}; String[] test2 = {"a","b","c",""}; 我试过这个 for (int i = 0; i < test1.length; i++) { for (int j = i; j < test2
String[] test1 = {"a","b","c","d"};
String[] test2 = {"a","b","c",""};
我试过这个
for (int i = 0; i < test1.length; i++) {
for (int j = i; j < test2.length; j++) if (i==j) if (i == j && test2[j] == "" ) {do stuff}
}
// but always give true
for(int i=0;i
现在,如果比较从test1的索引0开始,那么应该只与test2的索引0进行比较
我想找到空索引(例如test2的索引3,它与test1索引3相关)并做一些工作
我读了很多书,但有一些困难,提前谢谢。使用.equals()
比较字符串<代码>=用于比较原语
也不需要2个循环
for(int i = 0; i < test1.length; i++){
if(test1[i].equals("")||test2[i].equals(""){
//Do something
}
}
for(int i=0;i
在Java中比较字符串时,必须使用EQUALS,因为它们是对象。此外,两个循环没有意义。
试试这个:
for (int i = 0; i < test1.length; i++) {
if (test2[i].equals("") ) {do stuff}
}
for(int i=0;i
据我所知,您想比较两个大小可能不相同的数组,如果不相同,则只比较最短的大小?
您可以这样做:
boolean equals=true;
对于(int i=0;i
使用Arrays.java的deepEquals():
import java.util.Arrays;
String[][] s1 =
{
{"A", "B", "C"},
{"X", "Y", "Z"}
};
String[][] s2 =
{
{"A", "B", "C"},
{"X", "Y", "Z"}
};
System.out.println("deepEquals() returns " + Arrays.deepEquals(s1, s2));
输出:deepEquals()返回true您应该使用
equals()
来比较字符串值如果您需要比较两个数组的同一索引处的元素,为什么要使用嵌套循环?一个循环就足够了,然后您就不需要比较索引了。另外,是的,您希望将字符串与equals()进行比较
。它总是给我false,这个循环是否只比较test1和Test2的相同索引,因为它对我很重要。你没有比较它。在这种情况下,它是不需要的,因为数组大小相同,它们的索引总是相同的。对于i=3,if是真的。