java - 通过在方法中将对象作为参数传递来查找对象中的元素
问题描述
公共类主席测试者{
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 方法
解决方案
.indexOf(elem)
返回您的数组列表中的索引elem
。
您想要.get(index)
返回索引处的元素。
您得到 -1 是因为您要求 arraylist 告诉您某个 number 的索引,该索引i
不在 arraylist 中。-1 表示“未找到”。
推荐阅读
- python-3.x - 重新投影 geotiff 数据并使用 Python 绘图
- python - Python websocket服务器 - 发送消息
- python - 变量的值在python中没有改变
- c# - 如何根据属性名称列表仅从列表中选择一些属性?
- ruby - 如何使用 Rspec 测试 OptionParser - RSpec 选项在测试期间存储在 ARGV 数组中
- django - csrf 令牌的含义是什么?
- json - 如何将数据从 StatelessWidget 传递到 StatefulWidget?
- sql - SQL Impala- 具有分析功能的聚合导致由 AnalysisException 分组
- r - 使用 R 中具有相同值的外部数据框对数据框进行排序
- c# - 键盘快捷键 - 同时按下 Alt-Ctrl-Shift-D 失败