나는 jackson을 통해 CSV를 버리고 있습니다. 몇 가지 매핑 클래스가 있고 매핑 클래스를 CSV 내보내기 메서드에 전달하려고합니다.리플렉션을 통해 Java에서 생성자를 호출하려면 어떻게해야합니까?
나는 추상적 인 클래스를 가지고 있고 그것을 각각의 csv 컬럼 포맷으로 확장했다. 클래스의 이름을 내보내기 함수에 전달한 다음 클래스의 생성자를 통해 데이터를 매핑하고이를 CSV로 덤프하려고합니다.
매핑을 수행하고 내보낼 클래스를 만들 때까지 모두 괜찮습니다.
호출 예외/매개 변수 개수가 잘못되었습니다.
protected String mapTransactionsToCSV(List<Object[]> results, String rowClassName)
Class rowClass = Class.forName(rowClassName);
for (Object[] component : results)
VehicleAbstract vehicle = (VehicleAbstract) rowClass.getDeclaredConstructor(Object[].class).newInstance(component);
csv.append(mapper.writer(schema).writeValueAsString(vehicle));
}
}
내 특정 클래스 (및 방금 복사 한 추상 클래스). 이 생성자
public Bus() {}
public Bus(Object[] component) {}
좋은 질문 - 멋지게 서식을 지정하고 멋진 예제를 제공해 주셔서 감사합니다. 항상 도움이됩니다 =) – Addison