java - 如何避免重复以下代码?

标签 java

List<Widget> widgets = widgetDao.retrieveWidgets(widgetBatchSize, 0);
createWidgets(widgets);

for (int offset = widgetBatchSize; widgets.size() >= widgetBatchSize; 
        offset +=  widgetBatchSize) {
    widgets = widgetDao.retrieveWidgets(widgetBatchSize, offset);
    createWidgets(widgets);
}

我在复制循环之前和循环内进行的处理代码感觉不对。如何避免重复此代码?

最佳答案

正如评论中所指出的,使用 do...while 循环代替:

List<Widget> widgets;
int offset = 0;
do {
    widgets = widgetDao.retrieveWidgets(widgetBatchSize, offset);
    createWidgets(widgets);
    offset += widgetBatchSize;
} while (widgets.size() >= widgetBatchSize);

关于java - 如何避免重复以下代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16428498/

相关文章:

java - 需要对人们在测试中使用的不同用例进行一些解释

java - 通信异常 : Connecting to a MySQL database

java - 对 Java 中的克隆感到困惑

java - JSP :forward on button Click()(when target jsp is under web-inf folder) 中的问题

java - 获取三维数组的两个维度 C#

Java Split 没有按预期工作

java - Android Regex - 如何在数字后面添加连字符?

java - Java到底是什么?

java - BufferedReader 不复制文件

java - Java 中的字符串索引超出范围