我想使用简单的Jdbc插入类和执行批处理方法
public int[] executeBatch(Map<String,Object>[] batch)
http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/jdbc/core/simple/SimpleJdbcInsert.html
所以我需要传递一个< code>Map数组
Map<String, Object>[] myArray = new HashMap<String, Object>[10]
这是错误:无法创建 Map 的通用数组
列表
我在这方面遇到了一些困难,但我已经想出了一些事情,我会尽可能简单地分享。
我的泛型经验仅限于集合,因此我在类定义中使用它们,例如:
public class CircularArray<E> {
其中包含数据成员:
private E[] data;
但是你不能使和数组的类型泛型,所以它有方法:
@SuppressWarnings("unchecked")
private E[] newArray(int size)
{
return (E[]) new Object[size]; //Create an array of Objects then cast it as E[]
}
在构造函数中:
data = newArray(INITIAL_CAPACITY); //Done for reusability
这适用于一般的泛型,但是我需要一个可以排序的列表:一个可比较的列表。
public class SortedCircularArray<E extends Comparable<E>> {
//any E that implements Comparable or extends a Comparable class
其中包含数据成员:
private E[] data;
但是我们的新班级抛出java.lang.ClassCastException:
@SuppressWarnings("unchecked")
private E[] newArray(int size)
{
//Old: return (E[]) new Object[size]; //Create an array of Objects then cast it as E[]
return (E[]) new Comparable[size]; //A comparable is an object, but the converse may not be
}
在构造函数中,一切都是相同的:
data = newArray(INITIAL_CAPACITY); //Done for reusability
我希望这有帮助,我希望我们更有经验的用户在我犯错误时纠正我。
您可以创建地图的通用数组。
>
创建地图列表。
List<Map<String, ?>> myData = new ArrayList<Map<String, ?>>();
初始化数组。
Map<String,?>[] myDataArray = new HashMap[myData.size()];
从列表填充数组中的数据。
myDataArray = myData.toArray(myDataArray);
匿名用户
由于Java中泛型的工作方式,您不能直接创建泛型类型的数组(如< code>Map
这应该适合您的需要:
Map<String, Object>[] myArray = (Map<String, Object>[]) new Map[10];
您可能希望用< code > @ suppress warnings(" unchecked ")来注释发生这种情况的方法,以防止显示警告。
问题内容: 我想使用simpleJdbcInsert类和executeBatch方法 http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/jdbc/core/simple/SimpleJdbcInsert.html 所以我需要传递一个as参数数组。如何创建这样的数组?我试过的是 错误:无法创建通用数组 A
问题内容: 我不理解泛型和数组之间的联系。 我可以使用通用类型创建数组引用: 但是不能创建具有通用类型的数组对象: 但它有效: 问题答案: 你不应该混淆数组和泛型。他们在一起不好。数组和泛型类型执行类型检查的方式有所不同。我们说数组是经过整形的,而泛型则不是。结果,你会看到这些差异适用于数组和泛型。 数组是协变的,泛型不是: 那意味着什么?你现在必须已经知道以下分配有效: 基本上,Object[]
问题内容: 该代码似乎不起作用,它将抛出异常: java.lang.ClassCastException:[Ljava.lang.Object; 无法转换为… 有人可以告诉我如何创建具有通用类型的数组吗?谢谢。 问题答案: 您不能:必须将类作为参数传递:
问题内容: 由于Java泛型的实现,因此不能有以下代码: 如何在保持类型安全的同时实现此目的? 我在Java论坛上看到了这样的解决方案: 但是我真的不知道发生了什么。 问题答案: 我不得不问一个问题:您的GenSet“已选中”还是“未选中”?那是什么意思? 检查:强打字。GenSet明确地知道什么类型的包含对象(即它的构造是明确要求有Class 参数,当他们通过了类型不是参数的方法会抛出异常E。见
我有以下代码,运行时会出现错误:TypeError:无法读取未定义的属性“split” 您可以在这里运行它。 我有数组,我想将它转换为数组的数组,首先在处拆分以分离数组,然后在处拆分以创建数组中的项。因此此列表将如下所示: [[data1,data2,data3],[data4,data5,data6],[data7,data8,data9]] 执行类似的操作,但当我尝试使用访问它时,它只给我第一
问题内容: 我正在尝试在Swift中构建Promises的基本实现,并且我需要能够向数组中添加函数,但是我不确定如何使它起作用。 我发现,当我尝试执行以下操作时,Swift Playground不会建议您: 这很有道理-Swift无法推断出-的类型,但这就是我的问题所在。我不确定如何预定义函数数组。 是否可以在Swift中创建函数数组?我想是这样,职能是一等公民。 问题答案: 绝对有可能,只需将数