首页 > 解决方案 > 通过在方法中将对象作为参数传递来查找对象中的元素

问题描述

公共类主席测试者{

public static void main(String[] args) {

    ArrayList<Chairs> chairs = new ArrayList<>();
    chairs.add(new Chairs("Rolling", "red",1523, 200.00));
    chairs.add(new Chairs("Steel","blue", 262, 150.00));
    chairs.add(new Chairs("Plastic","Biscuit",6582, 180.00));
    String key="Steel";
    System.out.println(chairs);
    System.out.println(chairs.size());

            findingChairs(chairs,"Rolling");

}

public static void findingChairs(Object obj,String key){

    for(int i=0;i<((ArrayList<Chairs>) obj).size();i++){
        System.out.println("Get index method "+((ArrayList<Chairs>) obj).get(i));
        if(((ArrayList<Chairs>) obj).get(i).getType().contentEquals(key)){
            System.out.println("Chair is found");
        }   
    }


}

}

if(((ArrayList) obj).get(i).getType().contentEquals(key))--

我们能否改进这种编码格式,在将对象发送到另一个方法时不需要类型转换。相反,我们可以直接访问代码中的大小和元素。

getType 方法是来自另一类代码的 getter 方法

标签: javaarraylist

解决方案


.indexOf(elem)返回您的数组列表中的索引elem

您想要.get(index)返回索引处的元素。

您得到 -1 是因为您要求 arraylist 告诉您某个 number 的索引,该索引i不在 arraylist 中。-1 表示“未找到”。


推荐阅读