gpt4 book ai didi

java - LinkedHashSet 迭代器无缘无故地进入无限循环

转载 作者:行者123 更新时间:2023-12-01 23:10:06 26 4
gpt4 key购买 nike

我找到了 3-4 个关于该主题的主题,但它们没有任何帮助,因为我已经尝试了那里的人建议主题开启者的任何内容。它已经在我的代码中了。

// Set the images of users that own this item
// TODO refactor this
private LinkedHashSet<UserBasic> itemUsers;
Iterator<UserBasic> usersIterator = itemUsers.iterator();

// We have 4 imageViews available for displaying users avatars, but we might not need them all
ArrayList<Integer> initialUserAvatarViews = new ArrayList<Integer>();
initialUserAvatarViews.add(R.id.iItemProfileUserImageSlotOne);
initialUserAvatarViews.add(R.id.iItemProfileUserImageSlotTwo);
initialUserAvatarViews.add(R.id.iItemProfileUserImageSlotThree);
initialUserAvatarViews.add(R.id.iItemProfileUserImageSlotFour);

int initialUserAvatarViewsCount = initialUserAvatarViews.size();

int a = 0;
while (usersIterator.hasNext()) {
Log.d("LOOPING AT 263", "I CANT STOP LOOPING");
if (a < initialUserAvatarViewsCount) {
FetchableImageView fetchableImageView = (FetchableImageView) findViewById(initialUserAvatarViews.get(a));
fetchableImageView.setVisibility(View.VISIBLE);
fetchableImageView.setImage(C.API.WEB_ADDRESS + C.API.IMAGES_USERS_FOLDER_THUMBNAIL + usersIterator.next().getUserAvatar(),
R.drawable.images_default_avatar_male);
a++;
}
}

最佳答案

通过调用 usersIterator.next() 可以使光标前进。可能您的执行流程停止进入 IF 循环,并且 next() 永远不会被调用。这就是为什么你会得到无限循环。确保每次迭代都调用 usersIterator.next(),或者在 IF 条件失败时调用 break。

关于java - LinkedHashSet 迭代器无缘无故地进入无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22156857/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com