Osc*_*Ryz 21
与String和Int相同,只需在内部放置不同的类型:
Date [] dates = {
new Date(),
new Date()
};
Run Code Online (Sandbox Code Playgroud)
声明了一个大小为2的数组,其中包含两个日期.
您还可以使用空值初始化:
Date [] dates = new Date[2];
Run Code Online (Sandbox Code Playgroud)
或者添加更多重要值:
Date [] dates = {
getDateFromString("25/11/2009"),
getDateFromString("24/12/2009")
};
....
public Date getDateFromString( String s ) {
Date result = ...// parse the string set the value etc.
return result;
}
Run Code Online (Sandbox Code Playgroud)
编辑
...但无论如何你可以在getDateFromString方法中完成你正在做的事情吗?
当然,我最初没有,因为我的观点是要表明,你可以在那里放置任何类型为"日期"的东西.
您只需使用SimpleDateFormate.parse()方法(继承自DateFormat类)
simpleDateFormatInstance.parse( "24/12/2009" ); // returns christmas 2009.
Run Code Online (Sandbox Code Playgroud)
这是一个完整的工作样本:
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;
import static java.lang.System.out;
public class DateArrayTest {
private static final SimpleDateFormat dateFormat
= new SimpleDateFormat("dd/MM/yyyy");
private static final Date invalidDate = new Date(0);
// test creating a date from a string.
public static void main( String [] args ) {
Date [] randomDates = {
fromString("01/01/2010"), // new year
fromString("16/09/2010"), // 200 yrs Mex indepence
fromString("21/03/2010"), // uhhmm next spring?
fromString("this/should/fail"), // invalid date.
};
for( Date date: randomDates ) {
print( date );
}
}
/**
* Creates a date from the given string spec.
* The date format must be dd/MM/yyyy ie.
* 24 december 2009 would be: 24/12/2009
* @return invalidDate if the format is invalid.
*/
private static final Date fromString( String spec ) {
try {
return dateFormat.parse( spec );
} catch( ParseException dfe ) {
return invalidDate;
}
}
private static final void print( Date date ) {
if( date == invalidDate ) {
out.println("Invalid date");
} else {
out.println( dateFormat.format( date ) );
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49671 次 |
| 最近记录: |