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)吗?谢谢
2 年多之前 回复
luochoudan
luochoudan   Ds   Rxr 2016.04.04 23:28

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

oiu1010110
oiu1010110 这个写在构造函数里面吗?谢谢
2 年多之前 回复
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 我是这个意思,就是想别人输错格式的时候,也可以自动转化成正确格式,可以说具体一点吗?谢谢
2 年多之前 回复
CSDNXIAOD
CSDNXIAOD   2016.04.04 22:02

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
关于单例的属性问题
才学iOS,现在遇到单例的理解问题,单例中的属性可以修改吗?根据定义似乎不应该啊。但是我通过如下测试,构造函数是不会再次加载,但是属性name是可以被修改的,单例是不是就是这样的?谢谢 import Foundation class Person: NSObject {          var name: String?     var age: Int?     var phone: St
Java中在从父类中继承的成员变量在子类改变,怎么父类(super.num)的成员也一起改变?
class Father { protected int num = 10; public void setNum(int num) { this.num = num; } public int getNum() { return num; } } class Child extends Father { public void show() { System.out.p
Java 类 java的函数重载与修改对象的属性
java的函数重载与修改对象的属性需要注意的问题class Student { String name; public Student(String name) { this.name=name; } public void setName(String name) { this.name=name; }
Java多线程锁对象的改变
在将任何数据类型作为同步锁时,需要注意的是,是否有多个线程同时持有锁对象,如果同时持有相同的锁对象,则这些线程之间就是同步的;如果分别获得锁对象,这些线程之间就是异步的。 这个时候线程A和B持有的锁都是”123”,虽然将锁改成了”456”,但结果还是同步的,因为A和B共同争抢的锁是”123”。把Thread.sleep(50)放开 这个时候A取得的锁是”123”,过了50毫秒之后B线程取得的锁上
Java 继承后修改的对象数据属性到底是谁的?
RT,我们平时在用继承类时,常常想为什么父类里的成员变量,为什么我非要覆盖。我专心扩展我的东西不是更简约吗?class A{ int a=0; int b=0; String str="0"; String str2="0"; } class B extends A{ int b=0; String str="0"; { a=11
Java循环赋值和循环设置属性问题
for循环可以修改对象内容  , 但是重新赋值无效 , 另外不可以删除和新增元素 集合或者数组中 , 存放的是对象的引用 , 而不是对本身 , 对于字符串来说 , 存的就是这个字符串, 而不是这个字符串对象  如果你在循环中修改字符串, 其实是对字符串重新赋值 , 但是原本字符串的那个引用, 是没有发生改变的 , 所以修改没有用 如果你放的是一个对象
利用反射获取与修改private的属性的值
1.PrivateObject.java 可以看到PrivateObject 里有一个private 的属性String型的 privateString 没有为其实义getter,setter方法。  package org.iteye.bbjava.runtimeinformation; public class PrivateObject {
解决js动态改变dom元素属性后页面及时渲染问题
今天实现一个进度条加载过程,dom结构其实就是两个div 1 class="pbar"> 2 class="ui-widget-header" id="percent_bar" style="width: 23%;">div> 3 /div> 控制里层div的宽width属性,就能实现进度条往前走的效果。 我的进度条是显示下载文件的进度,简单实现一共100个文件的话,下载一个就1%,
java属性变化事件机制(2)
如果需要处理大量的属性又怎么样呢?     想象这样一种场景:     要在屏幕上显示远程交换机(或者路由器)的前后面板的各组件(交换机完整照片分割成可管理的拼图)特别是显示灯的情况,这样用户就不用走到交换机所在的地方,就可以监控到交换机的运行情况。交换机的各个灯都有其意义,电源灯,端口灯……运行的并正常的端口亮绿点,shutdown的不亮灯,有故障的亮红灯等……除了灯还要显示交换机的模块
利用java反射机制对多属性javabean赋值
public class ReflectMatch {    //封装属性        private Map fieldMap = new HashMap //封装属性的set方法  private Map methMap=new HashMap();    /*c:为赋值对象,    *values为给属性要赋的值,put('m1',1);put('m2',2),m1、m