
Java
文章平均质量分 63
Java学习内容整理
窗台的花花
如果没有天赋,那就一直重复。
展开
-
java 获取集合a比集合b多出来的对象元素
【代码】java 获取集合a比集合b多出来的对象元素。原创 2024-09-21 16:34:09 · 387 阅读 · 1 评论 -
Java 优雅的java枚举类
Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等。Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割。定义一个简易枚举类:public enum YesNo1Enum { YES, NO; //颜色:RED, WHITE, GREEN; //星期:MON, TUE, WEN;}//调用public class Test { public st原创 2022-05-20 21:00:49 · 4374 阅读 · 0 评论 -
Java 设计模式6大原则之(六):迪米特法则
定义一个软件实体应当尽可能少地与其他实体发生相互作用。详细概述迪米特法则又叫最少知道原则,通俗的来讲,就是一个类对自己知道的类知道的越少越好。也就是说,对于被依赖的类来说,无论逻辑多么复杂,都尽量的将逻辑封装在类的内部,对外除了提供的public方法,不对外泄漏任何信息。问题由来类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。迪米特法则可降低系统耦合度,使类与类之间保持松散的耦合关系。其他定义形式...原创 2022-05-18 16:27:52 · 966 阅读 · 0 评论 -
Java 设计模式6大原则之(五):合成/聚合复用原则
合成/聚合复用原则定义合成/聚合复用原则经常叫做合成复用原则。该原则就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。尽量使用对象组合,而不是继承来达到复用的目的。概述在面向对象设计中,可以通过两种方法在不同的环境中复用已有的设计和实现,即通过组合/聚合关系或通过继承,但首先应该考虑使用组合/聚合,组合/聚合可以使用系统更加灵活,降低类与类之间的耦合度,一个类的变化对其他类的影响相对较少;其次才考虑继承,在使用继承时,需要.原创 2022-05-18 10:04:49 · 1606 阅读 · 0 评论 -
Java 设计模式6大原则之(四):接口隔离原则
接口隔离原则(ISP)定义:使用多个专门的接口,而不使用一个涵盖所有功能的总接口。即客户端不应该依赖那些它不需要的接口。设计接口的时候要精简单一,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少。概述:根据接口隔离原则,当一个接口太大时,我们需要将它分割成一些更细小的接口,使用该接口的客户端仅需知道与之相关的方法即可。每一个接口应该承担一种相对独立的角色,不干不该干的事,该干的事都要干。接口隔离案例○ 未遵循接口隔离原则的设计,如下图接口声明://接口i...原创 2022-05-17 17:10:28 · 395 阅读 · 0 评论 -
Java 设计模式6大原则之(三):依赖倒置原则
依赖倒置原则(DIP)定义:高层模块不应该依赖于底层模块,两者都应该依赖其抽象。抽象不应该依赖细节,细节应该依赖于抽象。是实现开闭原则的基础,其实就是面向接口编程的解释,也就理解了依赖倒置。详细描述:在引入抽象层后,系统将具有很好的灵活性,在程序中尽量使用抽象层进行编程,而将具体类写在配置文件中,这样一来,如果系统行为发生变化,只需要对抽象层进行扩展,并修改配置文件,而无须修改原有系统的源代码,在不修改的情况下来扩展系统的功能,满足开闭原则的要求。在java中,抽象指的是接口或者抽象类,细节原创 2022-05-16 21:50:37 · 434 阅读 · 0 评论 -
Java 设计模式6大原则之(二):里氏替换原则
里氏替换原则(LSP)定义如果对每一个类型为T1的对象o1,都有类型为T2的对象o2,使得以T2定义的所有程序P在所有的对象o1都换成o2时,程序P的行为没有发生变化,那么类型T2是类型T1的子类型。简单理解任何基类可以出现的地方,子类一定可以出现。详细描述在代码中将一个基类对象替换成它的子类对象,程序不会产生任何错误和异常,反过来则不成立,如果一个类实体使用的是一个子类对象的话,那么它不一定能够使用基类对象。例如:我喜欢动物,那我一定喜欢狗,因为狗是动物的子类;但是我喜欢狗,不能据此原创 2022-05-16 14:49:27 · 526 阅读 · 0 评论 -
Java 设计模式6大原则之(一):开闭原则
对于设计模式的原则,不同的书说法不一样,有的6个有的7个,单一职责原则和接口隔离原则多数只提了一个。开闭原则为最重要的面向对象设计原则,它是面向对象的可复用设计的第一块基石。其他几条,则可以看作是开闭原则的实现方法。设计模式就是实现了这些原则,从而达到了代码复用、增加可维护性的目的。单一职责原则类职责要单一,一个类应该只做一件事情。开闭原则(OCP)概念一个软件实体(类、模块和方法)应该对扩展开放,对修改关闭。当功能需要变化的时候,我们应该是通过扩展的方式实现,而不是通过修改已.原创 2022-05-13 09:55:41 · 697 阅读 · 0 评论 -
Java 常用的三元运算符
1. 得到两个数中的最大数格式:逻辑值 ? 表达式1 : 表达式2执行顺序:先执行逻辑值,如果逻辑值为true,则执行表达式1;反之则执行表达式2 int a = 11; int b = 27; //获取两个数中的最大值 int max = a > b ? a : b; System.out.print("最大值:" + max);//输出为:最大值:272. 比较两数大小,...原创 2021-12-24 15:26:24 · 664 阅读 · 0 评论 -
Java % 取余(取模)怎么计算
取余(取模)有个规律就是:左边小于右边,结果为左边,左边大于右边,看余数。左边大于右边System.out.println(17%5);// 值为 2System.out.println(16%5);// 值为 1System.out.println(13%5);// 值为 3System.out.println(8%5);// 值为 3System.out.println(7%5);// 值为 2左边小于右边System.out.println(2%5);// 值为 2Sys翻译 2021-12-06 19:00:30 · 581 阅读 · 0 评论 -
Java 使用Collections.sort 对实体对象集合List<QueryTrackBean> 进行升序降序排列
数组排序升序Arrays.sort(arr);降序Arrays.sort(arr,Collections.reverseOrder());集合排序升序Collections.sort(list);降序Collections.sort(list,Collections.reverseOrder());倒序将集合中元素顺序颠倒,列:集合元素{1、7、6、1、1、2、6} 转换为 {6、2、1、1、6、7、1}Collections.revers...原创 2021-11-25 17:19:28 · 2043 阅读 · 0 评论 -
Java 将一个有大量数据的list集合分成指定大小的list集合
以下代码来源第一种和第二种: /** * 第一种方法: * 将list拆分成多给指定的大小的list */ public static List<List<String>> subList(List<String> target, int size) { List<List<String>> listArr = new ArrayList<>(); /翻译 2021-11-23 16:52:47 · 1901 阅读 · 0 评论 -
Java 正则表达式对用户名、手机号、邮箱等验证
工具类:/** * 校验器:利用正则表达式校验邮箱、手机号等 */public class Validator { /** * 正则表达式:验证用户名 */ public static final String REGEX_USERNAME = "^[a-zA-Z0-9]{6,20}$"; /** * 正则表达式:验证密码(字母+数字) * <p> * ^ 匹配一行的开头位置 * (?![0-9]+原创 2021-11-04 11:03:52 · 3414 阅读 · 0 评论 -
Java 判断一个字符串是否支持转换为double类型
public static boolean isNumber(String string) { if (string == null) return false; Pattern pattern = Pattern.compile("^-?\\d+(\\.\\d+)?$"); return pattern.matcher(string).matches(); }转载 2021-10-08 10:16:44 · 2568 阅读 · 0 评论 -
Java 观察者模式使用详解
模板的定义与特点原创 2021-05-25 16:36:29 · 342 阅读 · 0 评论 -
Java 单例模式使用详解
Java 单例模式使用详解简述一个类仅有一个实例,由自己创建并对外提供一个实例获取的入口,外部类可以通过这个入口直接获取该实例对象。场景很多时候整个应用只能提供一个全局的对象,为了保证唯一性,这个全局的对象的引用不能再次被更改。比如在某个应用程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例类统一读取并实例化到全局仅...原创 2021-05-21 16:07:44 · 319 阅读 · 1 评论 -
Java 判断一个集合中是否存在另外一个集合的元素
java 取交集方法retainAll有两个集合newCoures和oldCourses,判断这两个集合是否包含相同的对象或元素,可以使用retainAll方法:oldCourses.retainAll(newCoures)。如果存在相同元素,oldCourses中仅保留相同的元素。如果不存在相同元素,oldCourse会变为空。如果有多个集合oldCourses1、oldCo...转载 2018-08-21 16:59:15 · 52148 阅读 · 2 评论