小编oka*_*han的帖子

如何在多个函数中重构重复循环

我正在尝试TDD教程,并希望编写好的代码.我遇到了使用循环重复代码的问题.

我的代码看起来像这样:

public Board(int rows, int columns) {
    this.rows = rows;
    this.columns = columns;

    blocks = new Block[rows][columns];

    for (int row = 0; row < rows; row++) {
          for (int col = 0; col < columns; col++) {
              blocks[row][col] = new Block('.');
          }
    }
}

public boolean hasFalling(){
    boolean falling = false;

    for (int row = 0; row < rows; row++) {
        for (int col = 0; col < columns; col++) {
            if(blocks[row][col].getChar() == 'X'){
                falling = true;
            }
        } …
Run Code Online (Sandbox Code Playgroud)

java refactoring loops duplicates

2
推荐指数
1
解决办法
1299
查看次数

使用Play Framework和Guice进行依赖注入会导致应用程序启动时出现NullPointerException

我有以下代码:

import javax.inject.Inject;
import models.Subject;
import models.dao.SchoolDao;
import models.dao.SubjectDao;
import play.Application;
import play.GlobalSettings;
import play.db.jpa.JPA;
import play.db.jpa.Transactional;

import com.google.inject.AbstractModule;
import com.google.inject.Guice;
import com.google.inject.Injector;


public class Global extends GlobalSettings{

private Injector injector;

@Inject
private SubjectDao subjectDao;

@Override
public void onStart(Application application) {
    injector = Guice.createInjector(new AbstractModule() {
        @Override
        protected void configure() {
            bind(SchoolDao.class);
            bind(SubjectDao.class);
        }
    });

    insertInitialData();
}

@Override
public <A> A getControllerInstance(Class<A> aClass) throws Exception {
    return injector.getInstance(aClass);
}

@Transactional
private void insertInitialData(){

    if(subjectDao.countAll() == 0){
        Subject deutsch = new …
Run Code Online (Sandbox Code Playgroud)

dependency-injection guice playframework

1
推荐指数
1
解决办法
1193
查看次数