idea配置自动导包
把你的手放在滚热的炉子上一分钟,感觉起来像一小时。坐在一个漂亮姑娘身边整整一小时,感觉起来像一分钟。这就是相对论——爱因斯坦 我们可以在idea中配置及时导包 配置完毕后我们就可以在当前文件中完全移除某个类的时候,顺便及时移除它的导包 也能在我们在该类名唯一的时候自动导入唯一的包
在uniapp中引入地图
在我的后园,可以看见墙外有两株树,一株是枣树,还有一株也是枣树。这上面的夜的天空,奇怪而高,我生平没有见过这样奇怪而高的天空,他仿佛要离开人间而去,使人们仰面不再看见。——鲁迅《秋夜》 直接使用uniapp自带的map组件即可 文档:https://uniapp.dcloud.io/component/map 代码如下 123456789101112131415161718192021222324<template> <view> <view class="map-parent"><map style="width: 100%; height: 300px;" :latitude="latitude" :longitude="longitude" :markers="covers"></map></view> </view></template><script>expo...
uniapp阻止navigator冒泡
作为一个人,要是不经历过人世上的悲欢离合,不跟生活打过交手仗,就不可能懂得人生的意义。——杨朔 代码如下 1234567891011121314151617181920212223242526272829303132333435<template> <view> <view class="navigators"> <view class="parent-navigator" @tap="parentEvent()"> 上层,打印语句 <navigator class="child-navigator" url="/pages/test/test">内层,回到/pages/test/test页面</navigator> </view> </view> </view></template><script>export defau...
mysql中的dual
许多人都是由于本身软弱而做出问心有愧的事来的,并非都是蓄意背信弃义。——拉罗什富科 前两天看到项目中有这样一句SQL 1SELECT (SELECT username FROM `user_2018` WHERE id = 1) username,(SELECT `password` FROM `user_2019` WHERE id = 1) `password` FROM DUAL; 最后这里有一个FROM DUAL 我没有在数据库中找到DUAL表,它是一个关键字 但我们就算去掉FROM DUAL,也能成功执行 1SELECT (SELECT username FROM `user_2018` WHERE id = 1) username,(SELECT `password` FROM `user_2019` WHERE id = 1) `password`; 而且很多类似的例子 1234-- 查询当前时间SELECT NOW() FROM DUAL;-- 查询当前数据库版本号SELECT VERSION() FROM DUAL; 我们去掉后面的FROM DUAL,...
java模块导出与导入
只有经历过地狱般的磨砺,才能练就创造天堂的力量;只有流过血的手指,才能弹出世间的绝响。——泰戈尔 在java9中,新增了模块导入导出功能 我们可以新建一个module-info.java文件 然后我们可以在其中定义模块名、导出模块、引入模块 例如我这里定义了模块名为simple.design 导出的包为com.ruben.vistor.example.insurance和com.ruben.vistor.example.check 导入的包为java.net.http以及java.sql 123456module simple.design { exports com.ruben.vistor.example.insurance; exports com.ruben.vistor.example.check; requires java.net.http; requires java.sql;} 我们在本模块中可以使用到java.net.http以及java.sql 当然我们导出的这两个包下面的类也可以在另一个模块中引用 需要...
创建只读集合
真正的人生,只有在经过艰难卓绝的斗争之后才能实现。——塞涅卡 在java8中 我们可以使用下面的函数创建只读集合 12345678Collections.unmodifiableCollection(Arrays.asList(""));Collections.unmodifiableList(Collections.singletonList(""));Collections.unmodifiableMap(new HashMap<>(1 << 4));Collections.unmodifiableSet(new HashSet<>());Collections.unmodifiableNavigableMap(new TreeMap<>());Collections.unmodifiableNavigableSet(new TreeSet<>());Collections.unmodifiableSortedMap(new TreeMap<>());Colle...
新版Stream
最具挑战性的挑战莫过于提升自我。——迈克尔·F·斯特利 Java9和Java16中更新了Stream中的函数 1234567891011121314151617181920212223242526272829303132// @since 9:无限流现在可以给终止条件啦!注意第二个参数// @since 16:toList简化了.collect(Collectors.toList())// 这里是从0获取到99的元素List<Integer> collect = Stream.iterate(0, i -> i < 100, i -> ++i).toList();System.out.println("iterate&toList:" + collect);// @since 9:takeWhile——只要满足条件就取出元素,直到遇到第一个不满足的元素为止(不受并行流影响,属于有状态中间操作)System.out.print("takeWhile:");collect.parallelStream(...
接口能玩的小花招
一个人的礼貌是一面照出他的肖像的镜子。——歌德 首先写一个函数式接口 12345678910@FunctionalInterfacepublic interface Person { /** * 睡 * * @author <achao1441470436@gmail.com> * @since 2021/7/20 0020 23:20 */ void sleep();} 我们能通过调用其中的sleep方法执行函数(方法) 123 Person person = () -> System.out.println("睡"); person.sleep();// 执行结果:睡 而执行的函数则是我们接口本身,这个函数式接口就代表了一个函数 函数式接口 其实就可以理解为 函数、方法本身 但我们今天主要聊的不是这个 我们在函数中定义的变量默认就是常量 1234567891011121314@FunctionalInterfacepublic interf...
新版Optional
我们每一做一件事都应该既小心谨慎,又充满信心。——爱比克泰德 首先关于Optional的博客我已经写过好几篇了 Optional进行优雅非空判断 Optional再扩展 Optional没有peek函数?自己写一个 在Java9中更新了Optional的三个函数 第一个:将Optional中的值转换为Stream,如果值不存在,则返回空的Stream 12345678910111213141516171819202122/** * If a value is present, returns a sequential {@link Stream} containing * only that value, otherwise returns an empty {@code Stream}. * * @apiNote * This method can be used to transform a {@code Stream} of optional * elements to a {@code Stream...
访问者模式
让自己的内心藏着一条巨龙,既是一种苦刑,也是一种乐趣——雨果 今天跟着一个网站学了学访问者模式 简单来说,如果我们要在不改动现有逻辑的情况下对类进行增强,则可以使用访问者模式 真实世界类比 优秀的保险代理人总能为不同类型的团体提供不同的保单。 假如有这样一位非常希望赢得新客户的资深保险代理人。 他可以拜访街区中的每栋楼, 尝试向每个路人推销保险。 所以, 根据大楼内组织类型的不同, 他可以提供专门的保单: 如果建筑是居民楼, 他会推销医疗保险。如果建筑是银行, 他会推销失窃保险。如果建筑是咖啡厅, 他会推销火灾和洪水保险。 我们这里有多栋建筑,但我们不能在建筑类中写推销保险的代码,并且尽可能考虑未来拓展性当设计完成后,此时此刻突然来了是送外卖的,我们现在再改动原有每个建筑的代码了,工作量就会太多。。。 我们尝试用访问者模式去完成这样一个案例: 建筑接口12345678910111213141516171819202122232425262728293031323334353637package com.ruben.vistor.example.Insurance;/** * ...
