0

MyDate というオブジェクトがあり、3 つのメソッドを返しますString getDay(), String getYear(), String getMonth()

たとえば、Sep 24 2013 will 2013, 24, 9 .. これらの 3 つの文字列を DASH である共通のセパレータを使用して結合したい"-".StringBuilder または "+" 演算子を使用せずに結合するにはどうすればよいですか? 最もコンパクトなコード形式は何ですか?

たとえば、これができることはわかっていますが、よりコンパクトなフォームはありますか? + 演算子が高価であることを知っているからです。

MyDate myDate = new MyDate();
myDate.getYear()+"-"+myDate.getMonth()+"-"+myDate.getDay();
4

4 に答える 4

2

あなたはかっこよく、グアバを使うことができます

public static void main(String[] args) {
    Date myDate = new Date();
    Object[] objects = new Object[] {
            myDate.getYear(), myDate.getMonth(), myDate.getDay()
    };
    String message = Joiner.on("-").join(objects);
    System.out.println(message);
}
于 2013-09-25T00:59:15.127 に答える
2

あなたが使用することができますString.format(...)

たとえば、getXXX() メソッドが文字列を返す場合:

String dateStr = String.format("%s-%s-%s", 
      myDate.getYear(), myDate.getMonth(), myDate.gateDay());

それ以外の場合は、int を返します。

String dateStr = String.format("%4d-%02d-%02d", 
      myDate.getYear(), myDate.getMonth(), myDate.gateDay());

詳細については、printf(...)メソッドまたは Formatter オブジェクトに関するチュートリアルを確認してください。

于 2013-09-25T00:55:07.383 に答える