내 프로그램에서이 같은 라인이있는 경우 : 그와 같은 다수의 메소드를 호출 할 수있는 방법한 줄에 여러 메서드 호출?
fireBalls.add(new Fireball(tileMap).setPosition(20, 20)); // set position is a method of the fireball class
, 같은 라인을?
나는 노력이 :fireBalls.add(new Fireball(tileMap).setPosition(20, 20).setLeft());
그러나이 무효 형에 호출 할 수 없습니다로 setLeft()
방법은, 거기에 넣어 수 없습니다. fireBalls ArrayList에 어떤 인덱스가 있는지 알지 못하므로 별도의 줄에 표시 할 수 없습니다.
변화로 setPosition '의 반환 형식 (int, int)'와'setLeft'를'Fireb 모두'? 메서드의 마지막 줄에'return this;'를 추가하면됩니다.하지만 생성자에 더 많은 매개 변수를 추가하는 것이 더 바람직합니다. 또한 목록에 추가하기 전에 인스턴스를 만들거나'List'에 추가 한 후에 인덱스를 얻고 싶다면'Fireball justAdded = fireBalls.get (fireBalls.size() - 1)); ' –
너무 간결하게하려고하는 것과 같은 것이 있으며 아마도 이것은 그 사건 중 하나입니다. –
가장 좋은 대답은 아마 이런 일을하지 않는 것입니다. 여러 줄을 사용하십시오. 나는 자바 프로가 아니지만 여러 줄을 사용하면 약간의 성능 향상을 가져올 것이라고 상상할 수는 없지만 확실하게 가독성을 높여서 유지 관리 가능성을 높여줍니다 ... – nhgrif