java - 使用 ArrayList 的越界异常
问题描述
我不确定为什么我会出现越界异常,有人可以帮忙吗,这真的让我很烦,因为我真的很想了解正在发生的事情。
公共类 LoyaltyCardList { 私人 ArrayList 忠诚卡;
/**
*
*/
public LoyaltyCardList()
{
loyaltyCards = new ArrayList <LoyaltyCard> ();
}
/**
*
*/
public void addLoyaltyCard(LoyaltyCard newLoyaltyCard)
{
loyaltyCards.add(newLoyaltyCard);
}
public void getAllLoyaltyCards()
{
int index = 0;
while(index <= getNumberOfLoyaltyCards())
{
loyaltyCards.get(index).printCustomerDetails();
index++;
}
}
public void getLoyaltyCard(int LoyaltyCardEntry)
{
if(LoyaltyCardEntry < 0)
{
System.out.println("Negative Entry: " +LoyaltyCardEntry);
}
else if(LoyaltyCardEntry < getNumberOfLoyaltyCards())
{
loyaltyCards.get(LoyaltyCardEntry).printCustomerDetails();
}
else
{
System.out.println("No Such Entry:" + LoyaltyCardEntry);
}
}
public int getNumberOfLoyaltyCards()
{
return loyaltyCards.size();
}
解决方案
您打印出 LoyaltyCards 类而不是loyaltyCard
实例
for ( LoyaltyCard loyaltyCard : LoyaltyCards)
{
System.out.println(loyaltyCard);
}
您还应该确保在 LoyaltyCard 类中有适当的 toString() 覆盖,否则它可能不会转换为所需的格式
推荐阅读
- security - Pine 脚本 - 安全功能在不同的时间范围内显示不正确
- ffmpeg - FFmpeg 过滤复杂音频
- typescript - TypeScript Array<>.reduce() 类型
- javascript - 如何在 jquery 中获取 thymleaf 对象?
- c# - 如何使用 HttpClientFactory 在 .NET 5 中记录 HttpClient 的连接池信息?
- javascript - Select2 搜索不会返回结果
- android - @react-native-firebase\dynamic-links 找不到符号
- python - 我们如何在路径中添加 sqlformat.exe 并在路径中添加 django-admin.exe?
- reactjs - JSS/CSS 类名在 Next.js 中发生冲突
- google-chrome - 如何在 puppeteer 中使用 chrome dev tools api