- 博客(9)
- 收藏
- 关注
原创 java以逗号为分割符拼接字符串的技巧
java以逗号为分割符拼接字符串的技巧不用那么多if判断,让人思维混乱,直接到最后使用deleteCharAt方法去除最后一个逗号即可。实现代码如下所示:StringBuffer sb = new StringBuffer();for (String str: list) {sb.append(str).append(",");}String keywordStr = sb.deleteCharAt(sb.length() - 1).toString();...
2021-09-16 18:17:07 634
原创 简单工厂模式理解以及使用
文章目录简单工厂模式理解以及使用工厂模式概念定义个人理解简单工厂模式实际应用需求背景设计初心实际应用简单工厂模式优缺点简单工厂模式理解以及使用工厂模式概念定义工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。个人理解工厂模式就像是顾客、服务员、厨师三者之间的关系:不用工厂模式时是顾客直接找厨师下
2021-09-16 15:15:00 356 2
原创 List 转换为 Map 时存在空指针的问题
在使用 Java 的新特性Collectors.toMap() 将 List 转换为 Map 时存在空指针的问题空指针风险java.lang.NullPointerException现象当 List 中有 null 值的时候,使用 Collectors.toMap() 转为 Map 时,会报 java.lang.NullPointerException实例List<TbUserGift> tbUserGiftList = new ArrayList<>();TbUs
2021-08-31 21:18:51 2843
原创 对象克隆-深拷贝,浅拷贝,直接赋值
1背景分析2.基础知识2.1值类型2.2引用类型3.直接赋值4.浅拷贝5.深拷贝5.1 两中实现方式5.1.1 全部的类都实现Cloneable接口5.1.2 实现Serializable接口1背景分析在 Java 开发中,对象拷贝或者说对象克隆是常有的事,对象克隆最终都离不开直接赋值、浅拷贝、深拷贝 这三种方式,我们常用的对象的转化方式,使用的是spring的BeanUtils.copyProperties(Object source, Object targ.
2021-08-11 15:38:25 430
原创 java设计模式
Facade外观模式:将多个子系统封装起来,提供一个更加简洁的接口对供外部调用; 举个例子,比如我们每天打开电脑时,都需要做三件事:打开浏览器打开 IDEA打开钉钉每天下班时,关机前需要做三件事:关闭浏览器关闭 IDE关闭钉钉定义浏览器类、钉钉类、IDEA类:/** * @Company * @Author : * @Create : 2021/07/18 22:13 * @Description : 浏览器类 */public class Brows
2021-07-21 14:04:15 133
原创 java基础面试题
Mysql引擎InnoDB底层原理索引索引优化多线程面试题线程的生命周期包括:新建、就绪、运行、阻塞、销毁。多线程的创建方式(1)、继承 Thread 类:但 Thread 本质上也是实现了 Runnable 接口的一个实例,它代表一个线程的实例,并 且,启动线程的唯一方法就是通过 Thread 类的 start()实例方法。start()方法是一个 native 方法,它将启动一个新线 程,并执行 run()方法。这种方式实现多线程很简单,通过自己的类直接 extend Thread,并复
2021-06-27 22:41:40 400
原创 IDEA常用快捷键
psvm:生成main()方法sout:生成println()方法快速输出ctrl+shift+alt:多行操作fori:生成for循环n.for: 生成指定n次for循环Ctrl+Alt+v:自动补齐返回值类型ctrl+o:覆写方法ctrl+i:实现接口中的方法ctrl+shift+u:大小写转换CTRL+SHIFT+Z:取消撤销Alt+Insert:生成构造方法、getter、setterctrl+y:删除当前行Ctrl+Shift+J:将选中的行合并成一行ctrl+g:定位到
2021-05-20 09:52:35 80
原创 Linux
关于Linux-CentOS 7Linux01:概述及环境搭建入门概述我们为什么要学习Linuxlinux诞生了这么多年,以前还喊着如何能取代windows系统,现在这个口号已经小多了,任何事物发展都有其局限性都有其天花板。就如同在国内再搞一个社交软件取代腾讯一样,想想而已基本不可能,因为用户已经习惯于使用微信交流,不是说技术上实现不了解而是老百姓已经习惯了,想让他们不用,即使他们自己不用亲戚朋友还是要用,没有办法的事情。用习惯了windows操作系统,再让大家切换到别的操作系统基本上是不可
2021-05-13 22:36:46 568 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人