前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JAVA程序第四期

JAVA程序第四期

作者头像
一头小山猪
发布2020-06-15 17:39:18
3010
发布2020-06-15 17:39:18
举报
文章被收录于专栏:微光点亮星辰微光点亮星辰

小朱在晚间黄金时间准时播报,另外,公众号又来了几位新的管理,所以以后每天的作者和风格可能会有不同哦,先期待一下吧!

好了,咱们还是接着聊一下程序,第一发,创建可变长度的数组,可不要以为是动态传一个参数,然后动态长度初始化哦,那样就太low了。小朱提一个业务场景,当已经存在一个数组,里面存了一个参数的时候,我们想要再往里面塞一个或多个的时候,我们会怎么办呢?new一个新数组,然后把之前的元素弄过来?不会,至少要用高大上的集合好么,ArrayList,就决定是你了!但是会有一个问题,还是会涉及数据导入的问题,虽然代码并不复杂,集合和数组之间提供比较好的互相转换,但是看过源码的同学都知道,list的一个add就是重新new一个数组,导一遍数据,一个add,就是重新new一个数组,导一遍数据。。。那么小朱在这里要介绍的方法就是用Array本身提供的方法,创建一个新的数组,长度可以动态指定,封装成工具类还是很好用的哦。

那么这里涉及到反射的知识,大家注意increaseArray方法的参数列表,是一个Object类型,而不是一个Object数组,在这里我们把数组看作一个整体,在方法中我们来判断其是否是一个数组,在封装工具类的时候我们可以多传递一个参数,就是要增加的长度,在本例中我们默认用了5,对于一些不确定参数增加个数的场景也是很适用的,我们可以把新增加的参数的个数动态传递进去,这样可以更方便的使用。

第二发,铛铛铛铛,就是我们的Calendar,大家对他应该并不陌生,也是和时间相关的,里面提供了实用的各种方法,大家先看这个例子。

首先,对于Calendare的初始化也比较简单,可以直接通过getTime来获取当前时间,也可以通过格式化之后的Date类型来赋值,最重要的是其中提供了比较丰富的时间计算和显示,拿日期来说,分为四种,一年中的第几天,一个月中的第几天,一周中的第几天,一月中的第几周,但是大家注意,有些因为时间统计规则的差异,结果会有不同,比如9-4日应该是周日,输出应为7,但是结果为1,是因为认定周日为第一天,解决这个问题可以用Locale.setDefault(Locale.CHINA)来解决,但是在进行日期计算的时候不会发生影响,调用add方法对时间的某一属性进行更改,在这里不用担心时间越界的问题,如倒退40秒时可能分钟数要减一,还要考虑小时会不会变,以此类推,在这里Calendare都会帮你搞定,而你只需要设定时间变动规则。

比如有如下场景,查询七天内的账单,查询近三十天账单,精确到小时,我们该怎么做呢,获取当前时间,然后用Calendare搞定,这样就能避免我们用sql来处理时间,你学会了吗?

今天就到这里,明天由klee带给大家更精彩的内容,加油!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-09-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微光点亮星辰 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档