-3
Java 응용 프로그램에 다음과 같은 문제가 있습니다.이 Date 객체를 생성자에 전달할 때이 IllegalArgumentException을 얻는 이유는 무엇입니까?
public class TirAliquotaRamoI {
private Date dataElaborazione;
private BigDecimal tassoLordoAnnuoAppl;
private BigDecimal tassoGiornalieroNetto;
private BigDecimal aliquota; // Rappresenta il NAV
private Date dataInizio;
private Date dataFine;
private Date timeStamp;
public TirAliquotaRamoI() {
super();
// TODO Auto-generated constructor stub
}
public TirAliquotaRamoI(Date dataElaborazione, BigDecimal tassoLordoAnnuoAppl,
BigDecimal tassoGiornalieroNetto, BigDecimal aliquota,
Date dataInizio, Date dataFine) {
super();
this.dataElaborazione = dataElaborazione;
this.tassoLordoAnnuoAppl = tassoLordoAnnuoAppl;
this.tassoGiornalieroNetto = tassoGiornalieroNetto;
this.aliquota = aliquota;
this.dataInizio = dataInizio;
this.dataFine = dataFine;
}
.....................................................................
.....................................................................
GETTERS AND SETTERS
.....................................................................
.....................................................................
}
날짜 필드는 java.utils.Date :
나는이 클래스를 가지고있다.
그런 다음 다른 클래스에 나는이 방법으로 TirAliquotaRamoI 개체를 만드는 오전 :
TirAliquotaRamoI expectedResult = new TirAliquotaRamoI(
new Date("2015-11-17 00:00:00"),
new BigDecimal("3.120000000"),
new BigDecimal("0.000049863"),
new BigDecimal("1.0000498630"),
new Date("2015-11-17 00:00:00"),
new Date("2015-11-17 00:00:00"));
(나도 그 날짜 ("2015년 11월 17일 0시 0분 0초") 생성자 이것은 단 위 테스트 방법으로 만 사용됩니다).
문제는 그것이이 수행 될 때 :
java.lang.IllegalArgumentException
at java.util.Date.parse(Date.java:598)
at java.util.Date.<init>(Date.java:255)
at com.mycompany.main.AppTest.getNavInfoTest(AppTest.java:445)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:131)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
이유 :
new Date("2015-11-17 00:00:00")
이 나에게 이클립스 스택 트레이스에 다음과 같은 예외를 제공? 뭐가 잘못 되었 니? 내가 뭘 놓치고 있니? 이 문제를 어떻게 해결할 수 있습니까?
당신의 테스트 클래스에'java.util.Date'도 가져 왔습니까? – Adam
@AdamRosini : 분명히 그들은 스택 추적의 두 번째 줄을 보았습니다. –
@ T.J.Crowder 사람들이 코드를 섞어서 출력하고 가능한 것으로 생각하는 것보다 더 많이 보았습니다 – Adam