2 oiu1010110 oiu1010110 于 2016.04.04 21:50 提问

java 对属性的改变问题

public class Date {
String date ;

// 包含一个通过字符串构造的日期函数Date(String date)
public Date(String date) {
    if (isValidDate(date)) {
        this.date = date;
    }
}

public static boolean isValidDate(String date) {

    boolean convertSuccess = true;
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    try {
        format.setLenient(false);
        format.parse(date);                //按指定格式格式化传进来的date,这里我想也格式化属性date怎么写呢?
    } catch (ParseException e) {
        convertSuccess = false;
    }
    return convertSuccess;
}

public String toString(){

     return date;
     } 

}

//调用
String mydate = input.next();
if (Date.isValidDate(mydate)) {
Date date = new Date(mydate);
diary.setDate(date); //就是想让date对象的属性date也格式化,前面怎么写呢?

4个回答

caozhy
caozhy   Ds   Rxr 2016.04.04 22:36

没必要,写在toString里面就可以了。

oiu1010110
oiu1010110 在toString()里面再用format.parse(this.date)吗?谢谢
一年多之前 回复
luochoudan
luochoudan   Ds   Rxr 2016.04.04 23:28

this.date=new SimpleDataFormat("yyyy-MM-dd").parse(date);
这样?

oiu1010110
oiu1010110 这个写在构造函数里面吗?谢谢
一年多之前 回复
kaka20099527
kaka20099527   2016.04.05 15:29

如果符合isValidDate,代表属性值已经符合yyyy-MM-dd的格式了。
如果构造参数不符合yyyy-MM-dd的格式,并且想要属性值也是yyyy-MM-dd的格式,
则要根据构造参数的格式先parse得到Date对象,在对Date对象进行format得到yyyy-MM-dd的格式的属性值

oiu1010110
oiu1010110 我是这个意思,就是想别人输错格式的时候,也可以自动转化成正确格式,可以说具体一点吗?谢谢
一年多之前 回复
CSDNXIAOD
CSDNXIAOD   2016.04.04 22:02

java中属性的权限问题
java设置文件或目录隐藏属性的问题
ie placeholder属性的兼容性问题
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!