为什么我的ArrayList出界(索引3,大小3)当我把这个方法 [英] why is my arraylist out of bounds (index 3, size 3) when I call this method
本文介绍了为什么我的ArrayList出界(索引3,大小3)当我把这个方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想通过这本书的名字找到一本书,书的ArrayList。
当我尝试添加了一本书,这不是在书中ArrayList中,它给我的arrayoutofbounds异常指数:3,大小:3 ....我怎么能解决这个问题。
公共图书findBookByName(字符串bookNameToFind)
{
布尔发现= FALSE;
串BOOKNAME;
INT索引= 0; 而(!找到)
{
BOOKNAME = bookLibrary.get(指数).getTitle(); 如果(bookName.equals(bookNameToFind))
{
发现= TRUE;
}
其他
{
指数++;
}
}
返回bookLibrary.get(索引);
解决方案
您不必在这里使用索引,只是通过你的ArrayList迭代。
我倒等于因为不知道这本书的标题是在你的模型是强制性的。
公共图书findBookByName(字符串bookNameToFind){
对于(书书:bookLibrary){
如果(bookNameToFind.equals(book.getTitle()))
返回书;
}
返回null;
}
I'm trying to find a book in an arraylist of books by using the book's name. When I try to add a book that's not in the book arraylist, it gives me the arrayoutofbounds exception index:3, size:3.... how can I fix that ?
public Book findBookByName(String bookNameToFind)
{
boolean found = false;
String bookName;
int index = 0;
while(!found)
{
bookName = bookLibrary.get(index).getTitle();
if(bookName.equals(bookNameToFind))
{
found = true;
}
else
{
index++;
}
}
return bookLibrary.get(index);
解决方案
You don't have to use index here and just iterate through your arraylist.
I inverted equals because don't know if title of the book is mandatory in your model.
public Book findBookByName(String bookNameToFind) {
for (Book book : bookLibrary) {
if (bookNameToFind.equals(book.getTitle()))
return book;
}
return null;
}
这篇关于为什么我的ArrayList出界(索引3,大小3)当我把这个方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文