我有一堆JLabel
,方便地命名为:labelhely_0
,labelhely_1
,依此类推。它们也以该顺序存储在名为helyek的ArrayList
中。我想随机访问它们,所以我得到了arraylist的大小,并用它来生成数字,在这种情况下,是JLabel
的所需“索引”像这样int ujindex=helyek.indexOf("labelhely_"+indexx);
有没有一种方法可以以认为它是对象名称的方式来转换String?我需要这个,因为我要从ArrayList中删除东西,使索引混乱。
您说的不起作用,您的ArrayList
包含JLabels而不是String实例,因此,indexOf("labelhely_0")
将返回-1(表示:未找到)。毕竟,字符串"labelhely_0"
不在您的列表中(但是,包含该文本的JLabel不在此列表中。)>
无法将字符串“投射”到JLabel:强制转换是断言事物是另一回事的行为。 (您可能已经了解到它可以转换事物;这不是强制类型转换的功能;仅适用于基元,而字符串和jlabel不是,也不能成为基元)。
鉴于它们的顺序相同,并且您要使用indexx,所以ujindex等于indexx,所以整个操作对我来说毫无意义。