处理日期/月份可能有一位或两位数的日期的最佳方法是什么?
我有以下内容DateFormat:
yyyy-MM-dd HH:mm:ss.SSS
Run Code Online (Sandbox Code Playgroud)
我正在处理的应用程序运行良好,直到有一天它因为收到这样的日期而崩溃了:
2012-03-5 00:00:00.001 (Notice the single digit day).
Run Code Online (Sandbox Code Playgroud)
我偶然发现了这一点:使用java.text.SimpleDateFormat解析可能的单位数月/日/小时,但它没有回答我的问题.
我是否真的需要对日期字符串进行一些调整?或者还有其他更简洁的方式吗?
谢谢.
我在一本书中读到,实例成员只有在超级构造函数运行后才能访问.
我偶然发现了以下代码:
class Parent {
Parent() {
printIt();
}
void printIt() {
System.out.println("I'm in a overridden method. Great.");
}
}
class Child extends Parent {
int i = 100;
public static void main(String[] args) {
Parent p = new Child();
p.printIt();
}
void printIt() {
System.out.print(i + " ");
}
}
Run Code Online (Sandbox Code Playgroud)
它打印:
0 100
我的问题是:
如果只有在超级构造函数运行后才能访问实例成员,那么为什么在执行类Parent的printIt()方法时(由于多态性实际上是Child的printIt()),它能够访问未初始化的尽管Parent的构造函数尚未执行,但是Child的实例变量i?
我错过了什么?
我正在审核认证考试,我尝试了以下代码:
class A {
B b = new B();
static {
System.out.println("A static.");
}
{
System.out.println("A instance.");
}
A() {
System.out.println("A constructor.");
}
}
class B extends A {
static {
System.out.println("B static.");
}
{
System.out.println("B instance.");
}
B() {
System.out.println("B constructor.");
}
}
public class Raaawrrr {
public static void main(String args[]) {
A a = new A();
}
}
Run Code Online (Sandbox Code Playgroud)
它打印:
静止的.B静.
并导致堆栈溢出.我很难理解为什么.你能帮帮我吗?