Java String最佳实践

时间:2015-07-18 08:20:00

标签: java string memory

我在Java中有4个String参数(来自请求对象)

String dd = req.getParameter(dd);
String mm = req.getParameter(mm);
String yyyy = req.getParameter(yyyy);

验证dd后,mm,yyyy我正在建立日期 通过在某些地方再次构建String date = dd+"/"+mm+"/"+yyyy;来替换第4个字符串变量中的对象我需要替换日期 格式如下,

date = yyyy+mm+dd;
date =mm+"/"+dd+"/"+yyyy;  // storing in db need this format

因为需要传递4个对象所需的内存量 直到坚持在桌子上?内存通话费用高吗?有没有最好的做法? 最后,如何在Stringpool中使用多少字符串对象?

1 个答案:

答案 0 :(得分:4)

我的建议是你不应该像其他人所说的那样担心微观改善。可以创建一个包装器对象,例如MyDate并构建Date个对象一次。之后,您可以使用不同的格式化程序来格式化日期。

package com.dd;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.joda.time.LocalDate;

public class MyDate {

    private Date date;

    public MyDate(Request req) {
        int day = req.getParameter("dd");
        int month = req.getParameter("mm");
        int year = req.getParameter("yyyy");
        date = new LocalDate(year, month, day).toDate();
    }

    public String format(String givenFormat) {
        SimpleDateFormat sdf = new SimpleDateFormat(givenFormat);
        return sdf.format(date);
    }

}

注意 - 您需要确认并验证您从请求中获得的值,以及它们是否与LocalDate

所预期的相同。