小编amo*_*214的帖子

处理月份/天数单个或两位数的日期的最佳方法

处理日期/月份可能有一位或两位数的日期的最佳方法是什么?

我有以下内容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解析可能的单位数月/日/小时,但它没有回答我的问题.

我是否真的需要对日期字符串进行一些调整?或者还有其他更简洁的方式吗?

谢谢.

java date-format simpledateformat

6
推荐指数
0
解决办法
2153
查看次数

访问构造函数中的实例成员

我在一本书中读到,实例成员只有在超级构造函数运行后才能访问.

我偶然发现了以下代码:

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?

我错过了什么?

java constructor instance-variables super

3
推荐指数
1
解决办法
724
查看次数

实例化对象时出现StackOverFlow错误

我正在审核认证考试,我尝试了以下代码:

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静.

并导致堆栈溢出.我很难理解为什么.你能帮帮我吗?

java stack-overflow static constructor

2
推荐指数
1
解决办法
72
查看次数