如何在java中使用列表索引强制转换类
我创建了一个包含5个值的下拉列表。我想要的是,如果你选择3de值,我想使用该索引(2)将其转换为我的类。看下面我的小班如何在java中使用列表索引强制转换类,java,Java,我创建了一个包含5个值的下拉列表。我想要的是,如果你选择3de值,我想使用该索引(2)将其转换为我的类。看下面我的小班 public class dropDownConstructor { public String Code = ""; public dropDownConstructor(String code) { Code = code; } } 我为它添加了如下值 myList = new
public class dropDownConstructor
{
public String Code = "";
public dropDownConstructor(String code)
{
Code = code;
}
}
我为它添加了如下值
myList = new ArrayList<dropDownConstructor>();
myList.add(new dropDownConstructor("ABS"));
dropDownConstructor d = (dropDownConstructor)myList;
简而言之,我希望使用索引强制转换,以便检索特定记录。我知道如何在c语言中实现这一点,但我在java语言中遇到了困难。如果
myList
是ArrayList
,则不能将其转换为dropDownConstructor
。它的元素是dropDownConstructor
s
例如,您可以对其进行迭代:
for (dropDownConstructor d : myList) {
// do something with d
}
您可以搜索列表中是否有特定的dropDownConstructor
:
if (myList.contains(someDownConstructor)) {
}
对于
i
的第四个元素,使用myList.get(i)
这根本无效:
dropDownConstructor d = (dropDownConstructor)myList;
您正试图将列表强制转换为dropDownConstructor
,这是永远不会发生的
也许,你的意思是这样的:
dropDownConstructor d = (dropDownConstructor)myList.get(0); //assuming non-empty list.
如果这是您想要的,那么您不需要强制转换,如果您使用列表的通用声明,如:
List<dropDownConstructor> myList = new ArrayList<dropDownConstructor>();
myList.add(new dropDownConstructor("ABS"));
dropDownConstructor d = myList.get(0);
List myList=new ArrayList();
添加(新的下拉构造函数(“ABS”);
dropDownConstructor d=myList.get(0);
这保证了您的get
将返回类型为dropDownConstructor
的对象,因为每当您尝试向列表中添加任何不是类型为dropDownConstructor
的对象时,它都不会编译。约定和用法:
public class DropDown
{
public String code = "";
public DropDown(String code)
{
this.code = code;
}
}
List<DropDown> myList = new ArrayList<>();
myList.add(new DropDown("ABS"));
DropDown d = myList.get(42);
for (DropDown d : myList) { ... }
公共类下拉列表
{
公共字符串代码=”;
公共下拉列表(字符串代码)
{
this.code=代码;
}
}
List myList=new ArrayList();
myList.add(新下拉列表(“ABS”);
DropDown d=myList.get(42);
对于(下拉列表d:myList){…}
您应该使用dropDownConstructor d=myList.get(someIndex)代码>。不需要投。
public class DropDown
{
public String code = "";
public DropDown(String code)
{
this.code = code;
}
}
List<DropDown> myList = new ArrayList<>();
myList.add(new DropDown("ABS"));
DropDown d = myList.get(42);
for (DropDown d : myList) { ... }