1

我想使用需要int的方法。此int由可能作为double解决的除法确定。我需要尽可能简洁和简短地执行此操作,我想知道我是否可以计算出该方法会将直接转换为int的double以及这是否意味着没有舍入的单个截断。

我必须使用数学静态方法吗?这会给subList
的非int参数条目带来错误吗? 有人可以对此提供任何指导吗?

List<Integer> b = null;
List<Integer> c = null;
int size = a.size();

b.addAll(a.subList(0, size / 2)); // To hold the first half
c.addAll(a.subList(size / 2, size)); // To hold the second half [and excess]

预先感谢您的帮助。

4

2 回答 2

1

它将双精度转换为整数并且不会舍入它,只是忽略“。”之后的所有内容。

所以如果 9.8/2 的除法是 4.9 那么你会得到 4 做

int x = 9.8/2;

您不需要使用 Math 静态方法进行划分,并且您提供的代码不会出错

总而言之,你可以运行你的代码,看看结果是否如你所愿。

b.addAll(a.subList(0, size / 2));

应该可以正常运行

于 2013-08-14T11:29:34.537 回答
0

有什么问题b.addAll(a.subList(0, (int)(size / 2)));

于 2013-08-14T11:29:28.257 回答