時(shí)間處理,更方便和更易讀的代碼角度講,肯定要用Java8的新date api啦,由于涉及到一系列日期,所以結(jié)合Java8的Stream也是理所當(dāng)然

創(chuàng)新互聯(lián)專注于南充企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城系統(tǒng)網(wǎng)站開發(fā)。南充網(wǎng)站建設(shè)公司,為南充等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
總體思路:
由于節(jié)假日每年在變,所以需要羅列出所有的節(jié)假日集合A
生成2016-01-01 至 2016-05-01所有的日期,生成日期集合B
從B中過濾掉A中的節(jié)假日
從B中過濾掉周六周日
最后把B中集合打印
結(jié)合思路,所見即所得的代碼如下:
//?所有節(jié)假日的日期集合,這里你可以自己添加,只寫了兩個(gè)僅供參考(完成思路1)
ListLocalDate?holidays?=?Arrays.asList(LocalDate.parse("2016-01-01"),?LocalDate.parse("2016-05-01"));
//?按照起始2016-01-01,每次遞增一天的方式生成一個(gè)Stream
Stream.iterate(LocalDate.parse("2016-01-01"),?localDate?-?localDate.plusDays(1))
//?按照要求的時(shí)間間隔2016-01-01?至?2016-05-01中的實(shí)際間隔天數(shù)截?cái)郤tream(完成思路2)
.limit(ChronoUnit.DAYS.between(LocalDate.parse("2016-01-01"),?LocalDate.parse("2016-05-01")))
//?過濾其中的節(jié)假日(完成思路3)
.filter(localDate?-?!holidays.contains(localDate))
//?過濾其中的周六
.filter(localDate?-?!DayOfWeek.SATURDAY.equals(DayOfWeek.of(localDate.get(ChronoField.DAY_OF_WEEK))))
//?過濾其中的周日(完成思路4)
.filter(localDate?-?!DayOfWeek.SUNDAY.equals(DayOfWeek.of(localDate.get(ChronoField.DAY_OF_WEEK))))
//?打印最后結(jié)果(完成思路5)
.forEach(System.out::println);
打印的結(jié)果:
綜上:結(jié)合新時(shí)間API的易用性+Stream處理集合的快捷性,寫出代碼還是很簡潔的
淺顯得說,應(yīng)該不屬于。像dw那種才是所見即所得。而真正的編程頂多有個(gè)可視化模塊。java是直接打腳本的。
這跟JDK沒有關(guān)系,你一直用命令臺(tái)執(zhí)行程序
所以才會(huì)是那樣
其實(shí)你用個(gè)好的編程工具就行了,比如eclipse
網(wǎng)站題目:java所見即所得代碼 代碼模式和所見即所得模式
文章源于:http://www.chinadenli.net/article38/hpigpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、外貿(mào)建站、微信公眾號(hào)、面包屑導(dǎo)航、企業(yè)網(wǎng)站制作、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)