-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日午後12時00分○○秒」)コンストラクタこれは非推奨ですが、これは単体テスト方法にすぎません)。
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)
理由:それはEclipseのスタックトレースに私に次の例外を与える
new Date("2015-11-17 00:00:00")
:
問題があること、それが実行されたときでしょうか?なにが問題ですか?私は何が欠けていますか?この問題を解決するにはどうすればよいですか?
あなたのテストクラスにも 'java.util.Date'をインポートしていますか? – Adam
@AdamRosini:明らかに彼らはスタックトレースの2行目を見ました。 –
@ T.J.Crowder私は人々がmix and matchのコードを見て、可能だと思う以上に出力しました – Adam