我用一个String字段构建了一个类.然后我创建了两个对象,我必须使用==运算符进行比较.equals().这就是我所做的:
public class MyClass {
    String a;
    public MyClass(String ab) {
        a = ab;
    }
    public boolean equals(Object object2) {
        if(a == object2) { 
            return true;
        }
        else return false;
    }
    public boolean equals2(Object object2) {
        if(a.equals(object2)) {
            return true;
        }
        else return false;
    }
    public static void main(String[] args) {
        MyClass object1 = new MyClass("test");
        MyClass object2 = new MyClass("test");
        object1.equals(object2);
        System.out.println(object1.equals(object2));
        object1.equals2(object2);
        System.out.println(object1.equals2(object2));
    }
}
编译后,结果显示两次false.如果两个对象具有相同的字段 - "test",为什么它是错误的?
Java中的以下代码返回-1.我认为它应该返回3.
int[] array = {1,2,3,4,5,6}; 
System.out.println(Arrays.asList(array).indexOf(4));
你能帮我理解这个功能是如何工作的吗?
谢谢
我在接受采访时被问到这个问题.虽然采访是针对网点位置的,但他在java的背景下问我这个问题,因为我在简历中也提到了java.
如何在数组中找到值为X的元素的索引?
我说从第一个元素到最后一个元素迭代,并检查值是否为X将给出结果.他询问了一种涉及较少次迭代的方法,我说使用二进制搜索,但这只能用于排序数组.我试着在Array类中使用IndexOf函数.但我身边没有回答这个问题.
有没有快速的方法来获取数组中具有值X的元素的索引?
我可以使用每种语法从数组中读取数据:
int[] a = new int[100];
for (int i = 0; i < 100; i++){
    a[i] = i;
}
for (int element : a){
    System.out.println(element);                         
}
但同样可以填充阵列.说,有i*2价值观?
我没有发明这样的方法,而是宁愿问你我是不是错了.
如果我有一个数组列表(例如字符串数组),那么如何获取元素的索引及其值?
代码示例:
    private static final String[] TEST = new String[]{
      "abc","bcd","def"
}
要求其索引类似于:
       int i = TEST.getPosition("abc");/TEST.indexof(...);//not available
我还尝试创建 ArrayAdapter。
有这样的事吗?或者也许我需要用那个适配器或其他东西来分配它?
或者,
我怎样才能得到一个元素的这样的索引?