将通过方法调用创建的 Arraylists 添加在一起
Add Arraylists together created by a method call
我知道这个论坛中已经有一些问题与我的问题有关,但其中 none 似乎确实对我有帮助。
由于我是 Coding 新手,所以我仍在努力弄清楚 getClass()
和 getMethod()
调用究竟对我有什么帮助。
我想完成的事情:
// init:
List<Preview> listPreview;
List<Preview> listTemp;
// now create the Lists (from a Database)
listPreview = dbHelper.getPreview("Hero", "Axe");
listTemp = dbHelper.getPreview("Hero", "Beastmaster");
// now I want to add ListTemp to ListPreview
Class myClass = listPreview.getClass();
Method m = myClass.getDeclaredMethod("add", new Class[] {Object.class});
m.invoke(listTemp, 2);
问题:
显然这现在行不通,但我认为这个想法非常简单。我想将 listTemp 添加到 listPreview. getDeclaredMethod
已经被认为是未声明的异常我不太明白为什么。
如果你想一个接一个地添加两个列表,只需使用这个:
listPreview.addAll(listTemp);
这个比较简单。为什么不使用 listPreview.addAll(listTemp);
。这会将 listTemp
中的所有元素添加到 listPreview
。
如果你想用你的方法添加List的元素,使用下面的代码。
Class myClass = listPreview.getClass();
Method m = myClass.getDeclaredMethod("addAll", Collection.class);
m.invoke(listPreview, listTemp);
或
更简单的方法,你可以使用
listPreview.addAll(listTemp);
错误是
getDeclaredMethod is already considered a undeclared exception
这意味着必须捕获或声明抛出未报告的异常。
下面是一个完整的示例:
try {
Class myClass = listPreview.getClass();
Method m = myClass.getDeclaredMethod("addAll", Collection.class);
m.invoke(listPreview, listTemp);
}
catch (Throwable e) {
System.err.println(e);
}
我知道这个论坛中已经有一些问题与我的问题有关,但其中 none 似乎确实对我有帮助。
由于我是 Coding 新手,所以我仍在努力弄清楚 getClass()
和 getMethod()
调用究竟对我有什么帮助。
我想完成的事情:
// init:
List<Preview> listPreview;
List<Preview> listTemp;
// now create the Lists (from a Database)
listPreview = dbHelper.getPreview("Hero", "Axe");
listTemp = dbHelper.getPreview("Hero", "Beastmaster");
// now I want to add ListTemp to ListPreview
Class myClass = listPreview.getClass();
Method m = myClass.getDeclaredMethod("add", new Class[] {Object.class});
m.invoke(listTemp, 2);
问题:
显然这现在行不通,但我认为这个想法非常简单。我想将 listTemp 添加到 listPreview. getDeclaredMethod
已经被认为是未声明的异常我不太明白为什么。
如果你想一个接一个地添加两个列表,只需使用这个:
listPreview.addAll(listTemp);
这个比较简单。为什么不使用 listPreview.addAll(listTemp);
。这会将 listTemp
中的所有元素添加到 listPreview
。
如果你想用你的方法添加List的元素,使用下面的代码。
Class myClass = listPreview.getClass();
Method m = myClass.getDeclaredMethod("addAll", Collection.class);
m.invoke(listPreview, listTemp);
或 更简单的方法,你可以使用
listPreview.addAll(listTemp);
错误是
getDeclaredMethod is already considered a undeclared exception
这意味着必须捕获或声明抛出未报告的异常。
下面是一个完整的示例:
try {
Class myClass = listPreview.getClass();
Method m = myClass.getDeclaredMethod("addAll", Collection.class);
m.invoke(listPreview, listTemp);
}
catch (Throwable e) {
System.err.println(e);
}