Java中是否有一个实用程序方法生成一个指定长度的列表或数组,所有元素都等于指定值(例如["foo","foo","foo","foo","foo"])?
考虑以下:
>>> a=2
>>> f=lambda x: x**a
>>> f(3)
9
>>> a=4
>>> f(3)
81
Run Code Online (Sandbox Code Playgroud)
我想f不要改变什么时候a改变.最好的方法是什么?
我有两个表,object和object_data,对象通过外键引用object_data(关系是1:1).对于一组对象,我需要将其object_data引用置空并删除相应的object_data行,如下所示:
DELETE FROM object_data WHERE id IN
( SELECT object_data_id FROM object WHERE ... );
UPDATE object SET object_data_id = NULL WHERE ...;
Run Code Online (Sandbox Code Playgroud)
问题是,外键约束不允许删除仍然从对象引用的object_data行.
我当前的解决方案是将结果读SELECT入列表,然后将外键置零,然后使用IN运算符以合理大小的批量删除object_data行.有更好的解决方案吗?添加从object_data引用回对象的列不是一个选项.