Function
应该笑着面对生活,不管一切如何。——伏契克 java8的Function这个类 它有一个@FunctionalInterface注解 这里举个例子 首先我们看apply 解释为 表示接受一个参数并产生一个结果的功能。这是一个功能性的接口,其功能性的方法是apply(Object) 。 简单来说,你可以使用它里面的apply方法,这个方法参数为lambda写法的函数,返回值为函数执行的结果 我们实际写法如下 执行了apply能调用getUsername返回我们的username为ruben 源码这里的T为我们实际写的User,R为返回结果String 1234567891011public class FunctionDemo { public static void main(String[] args) { System.out.println(getUsername(User::getUsername, user)); } public static String getUsername(Functio...
建造者模式
外观往往和事物的本身完全不符,世人都容易为表面的装饰所欺骗。——《威尼斯商人》 这两天开发中用到了建造者模式,写起来感觉挺爽的 以前我们创建一个javabean 12345678910111213141516171819202122232425262728293031/** * 自定义pojo */public static class Teacher { private String name; private Integer age; @Override public String toString() { return "Teacher{" + "name='" + name + '\'' + ", age=" + age + '}'; } public Strin...
样式穿透
这是一个最好的时代,也是一个最坏的时代。——狄更斯 前段时间用elementUI进行开发,发现样式修改不了 这里一个简单的表格页面 12345678910111213141516171819202122232425262728293031323334353637383940414243<template> <el-table :data="tableData" style="width: 100%;"> <el-table-column prop="date" label="日期" width="180"></el-table-column> <el-table-column prop="name" label="姓名" width="180"></el-table-column> <el-table-column pro...
stream流分组
前两天补充了博客中写的java8的stream的用法 今天再写个分组的 例如我们下面需要根据奇数偶数分组 可以先新建一个list 1List<Integer> integerList = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 0)); 然后进行分组 1234567Map<Boolean, List<Integer>> collect = integerList.stream().collect(Collectors.groupingBy(data -> data % 2 == 0));List<Integer> evenNumbers = collect.get(true);List<Integer> oddNumber = collect.get(false);System.out.println("data % 2 == 0-----------");evenNumbers.forEach(Syst...
mysql案例数据库
人类的悲剧,就是想延长自己的寿命。我们往往只憧憬地平线那真个神奇玫瑰园,而忘了去赏识今天窗外正在盛开的玫瑰花。——(美)戴尔·卡耐基 昨天有群友问 那这里就分享一下mysql官网的案例数据库,下载下来就是sql文件,执行完就有现成的用于练手的数据 首先进入mysql官网的其他文档 可以看到下方的Example Databases 我们选一个下载Zip 下载完了里面就是一个sql文件 比如我下载的world.sql 下载完直接执行就有大堆数据用来练手啦!
模板字符串
生活不是苦难,也不是享乐,而是我们应当为之奋斗并坚持到底的事业。——托克维尔 这种东西那是相当的简单啊 1234567891011# JavaScript模板字符串使用var name = "achao";console.log(`我是${name}`);var number = 0;console.log(`今年${(number + 38) / 2}`);var word = "模板字符串";console.log(`${name}说:\'${word}\'那不是一般的香\n${rubenSaid()}`);function rubenSaid() { return `ruben说:${name}说的对!`;} 代码执行结果
使用@Select注解写<foreach>
智慧是宝石,如果用谦虚镶边,就会更加灿烂夺目。——高尔基 只需要加<sceipt>标签就可以了 1234567@Select({"<script>" + "select * from user where id in " + "<foreach item = 'id' index = 'index' collection = 'list' open='(' separator=',' close=')'>" + "#{id}" + "</foreach>" + "</script>"})List<User> selectU...
MybatisCodeHelperPro
取之有制,用之有节则裕;取之无制,用之不节则乏。——张居正《论时政疏》 安装插件,官网 然后重启idea 来到我们的xml 点击箭头,点击Test current xml tag 这个时候发现需要激活 我们点击试用就行了 然后回来再次点击发现直接帮我们生成了sql 还有很多功能 12345678910111213141516171819202122通过方法名(不需要方法的返回值和参数 会自动推导出来)来生成sql 可以生成大部分单表操作的sql 只需要一个方法的名字即可 会自动补全好方法的参数和返回值 和springdatajpa的语句基本一致xml sql几乎所有地方都有自动提示,sql正确性检测,插件会识别mybatis的一系列标签 如 include trim set where,在这些标签之后的sql可以自动提示数据库的字段,检测sql的正确性,从此不用担心sql写错直接从Intellij自带的数据库或者配置一个数据库生成crud代码 自动检测好 useGeneratedkey 自动配置好模块的文件夹 只用添加包名就可以生成代码了从java类生成建表语句数据...
java8的stream流(二)
字典里最重要的三个词,就是意志、工作、等待。我将要在这三块基石上建立我成功的金字塔——(法)巴斯德 之前写过一个关于stream流的博客,这次再做个补充吧 1234567891011121314// 取出第一条,没取到则为0Integer first = someNumber.stream().findFirst().orElse(0);// 随机取一个,没取到则为0Integer any = someNumber.stream().findAny().orElse(0);// 直接取和,没取到则为0Integer sum = someNumber.stream().reduce(Integer::sum).orElse(0);// 不包含20为trueboolean noneMatch = someNumber.stream().noneMatch(data -> data == 20);// 全部大于0为trueboolean allMatch = someNumber.stream().allMatch(data -> data > 0);// 任何等...
超级简单的安卓图片下载
我们的眼睛就是我们的监狱,我们的眼光所到之处就是我们监狱的围墙。——尼采 首先请求授权 然后我们这里引入依赖 1implementation 'com.hujiang.restvolley:restvolley:1.0.1' 然后调用函数 1234567891011121314151617181920212223String filename = url.substring(url.lastIndexOf("/")); String localPath = context.getExternalFilesDir(Environment.DIRECTORY_PICTURES) + filename; RestVolleyDownload.download(context, url, localPath, new RestVolleyDownload.OnDownloadListener() { @Override ...
