求给我讲解下红色部分的代码

a384311712 2013-01-28 09:06:48
import java.util.Calendar;
import java.util.GregorianCalendar;

public class DateTime {
private Calendar calendar = new GregorianCalendar();

public String getDate() {
StringBuffer buf = new StringBuffer();
buf.append(calendar.get(Calendar.YEAR)).append("-");
buf.append(this.addZero(calendar.get(Calendar.MONTH) + 1, 2)).append(
"-");
buf.append(this.addZero(calendar.get(Calendar.DAY_OF_MONTH), 2))
.append(" ");
buf.append(this.addZero(calendar.get(Calendar.HOUR_OF_DAY), 2)).append(
":");
buf.append(this.addZero(calendar.get(Calendar.MINUTE), 2)).append(".");
buf.append(this.addZero(calendar.get(Calendar.MILLISECOND), 3));
return buf.toString();
}

private String addZero(int temp, int len) //在某些位不足的情况下加上“0”
{
StringBuffer str = new StringBuffer();
str.append(temp); // 加入数字
while (str.length() < len) {
str.insert(0, 0);
}
return str.toString();
}



public static void main(String[] args) {
System.out.println(new DateTime().getDate());
}
}

输出的结果格式类似于“2013-01-28 21:02.078” 我想求教给我讲下红色代码处的内存活动情况,或者讲讲这段代码,初学java不是很理解 拜托了 みなさん
...全文
180 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
a384311712 2013-01-30
  • 打赏
  • 举报
回复
str.append(temp); // 加入数字 这块是往哪里假如数字
tieyougan 2013-01-30
  • 打赏
  • 举报
回复
引用 4 楼 a384311712 的回复:
str.append(temp); // 加入数字 这块是往哪里假如数字
红色的前面部分看到了吗,那些是获取的具体的日期数字,如2013-1-30,获取到2013,1,30,然后调用红色字体方法处理,当获取到的日期数字不是两位数的时候,则在前面加0,就像月份1,不足两位,在1前面加0,这些操作都是在StringBuffer里面操作的,也就是把int转化成了String处理,输出的是String类型。addZero(int temp, int len)这个方法,第一个参数temp表示的是获取的日期数字,第二个参数len表示的是这个日期数字要求几位。
失落夏天 2013-01-28
  • 打赏
  • 举报
回复
引用 楼主 a384311712 的回复:
import java.util.Calendar; import java.util.GregorianCalendar; public class DateTime { private Calendar calendar = new GregorianCalendar(); public String getDate() { StringBuffer buf = new St……
内存活动情况我感觉应该就是类似普通赋值吧。 类似拷贝一个对象,然后把这个对象作出修改,然后把修改后的对象的值返回给原对象吧、 当然,没研究过,不是很确定。。
王者_来归 2013-01-28
  • 打赏
  • 举报
回复
明显嘛,就是位数不足补0,比如长度不足8位的,在前面用0补足: 123456 补足后为:00123456
  • 打赏
  • 举报
回复
八嘎! 如果参数int temp的length小于参数int len,则在生成的str.insert(0, 0);前面0位置插入一个0符号

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧