801---数组复制的区别、Date类、

数组复制Array.copyof()和System.arraycopy()的区别:

在Java中复制数组有两个方法,分别是Array.copyof()和System.arraycopy()两个方法,两个方法有啥子区别呢?(为了方便下面用第一个、第二个分别来表示)

System.arraycopy()方法里面带有五个参数,分别为原数组、复制的原数组的起始下标、复制后的新数组、新数组的起始下标、复制的长度。先看源代码:

 public static native void arraycopy(Object src,  int  srcPos,
                                        Object dest, int destPos,
                                        int length);

它是用其他语言来实现的方法,(这里主要是说Java,非Java语言就不扯了)

Array.copyof()这个里面只带有两个参数,分别是原数组和要复制的数组长度。看源代码:

 

第一个方法能从指定的下标开始复制,也可以把复制的数据从新数据的指定下标填进去,可以指定复制的长度,在新数组原有数据的情况下,除了所复制的那一部分,其他的数据并不会被丢弃、也就是说这个方法在新数组原本已经定义了数组长度的情况下不会改变新数组的长度。

第二个方法只能从初始下标开始复制,也只能把复制的数据从新数组的初始下标开始填入,可以指定复制的长度,第二个方法的实现同时是在调用了第一个方法,并且建立了新数组,所以调用该方法的时候,假设新数组里面原来是有数据的话,他会把数组中超过所复制的长度的部分给直接丢弃,也就是用了该方法后该数组的长度就由后面传递的参数来决定了。

还有一点,两个方法所在的类不一样,第一个方法在String类里面,第二个方法则在Arrays方法里面。

举例:

打印结果:

 

 

Date类:

java.util.Date类 表示特定的瞬间,精确到毫秒。

具体实现格式eg:

打印出来的格式:

 

 星期几 月份 具体的天数 时间 时区 年份

DateFormat类:

日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。

注意:该类是抽象类,不能直接使用,需要调用它的子类,常见子类:java.text.SimpleDateFormat

它的构造方法为:

  • public SimpleDateFormat(String pattern):用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。

参数pattern是一个字符串,代表日期时间的自定义格式。

格式规则:

 

eg:

 打印:

        

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值