Java 搜索对象数组和索引位置
解决了原来的问题。有人知道如何检索我想要的对象及其索引位置吗?保存要在主目录中使用的索引位置Java 搜索对象数组和索引位置,java,arrays,object,search,indexing,Java,Arrays,Object,Search,Indexing,解决了原来的问题。有人知道如何检索我想要的对象及其索引位置吗?保存要在主目录中使用的索引位置 //========================================================================================== //SEARCH FOR USER public User find(String searchName) { int j; for(j=0; j<nElems;
//==========================================================================================
//SEARCH FOR USER
public User find(String searchName)
{
int j;
for(j=0; j<nElems; j++)
if(a[j].getLast().equals(searchName))
break;
if(j==nElems)
return null;
else
return a[j];
} // end find
//===========================================================================================
public static void main(String[] args){
int maxSize = 100;
ClassDataArray arr;
arr = new ClassDataArray(maxSize);
arr.insert("Evans", "Patty", 24);
arr.insert("Smith", "Tom", 59);
arr.insert("Smith", "Lorraine", 37);
arr.find("");
}
//==========================================================================================
//搜索用户
公共用户查找(字符串搜索名称)
{
int j;
对于(j=0;j您的问题是nElems
设置为0
,而不是max
更改:
nElems = 0;
致:
您将nElems设置为0nElems=0;
但以后没有更改。因此,j永远不会小于nElems。nElems
始终为零,这就是为什么j==nElems
为真并返回null
特别是,我们需要查看用于填充数组的代码。您可以了解OP数组i中的每个元素可能是因为OP使用的是“动态”数组。这是我能看到的唯一解释,nElems
与max
@ElliottFrisch被分开跟踪的原因。他没有向我们展示数组填充的代码。老实说,缺乏这种方法使得这个问题无法回答。但我不是那个否决你答案的人……但他没有说他得到了答案一个NullPointerException
,他说它没有返回任何东西,这就是为什么你的答案不可能是他的问题。@ElliottFrisch如果他在填充数组的方法中适当地检查null
,则很可能不需要检查null
。
nElems = max;