- 博客(30)
- 收藏
- 关注
原创 equals 和 hashCode 的区别
1、equals 和 hashCode 的区别equals() 和 hashcode() 这两个方法都是从 Object 类中继承过来的。hashCode():计算出对象实例的哈希码,并返回哈希码,又称为散列函数。equals():反映的是对象的内存地址或者对象的内容是否相等。Object 类实现 equals() 是对两个对象的地址值进行的比较(即比较引用是否相同,也就是内存地址是否相等)。Object 类实现 hashCode() 方法,其实是调用 C++ 编写的本地方法,可以理解为一个产生随机数
2021-10-09 16:00:37
3128
原创 equals 和 == 的区别
== 比较的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。equals 的比较是自定义的,如:String 类的 equals() 比较的是两个字符串的内容是否一样;Object 类的 equals() 比较的是两个变量在堆中存储的地址是否相同;...
2021-10-09 15:22:00
267
原创 idea插件translation插件“翻译失败”
翻译失败,可以试试下图中的红圈内的✅勾上(translate.goole.com),即可
2021-09-28 23:21:23
1262
4
原创 idea导入项目后没有被识别为maven项目的解决办法
开发中遇到了idea导入项目后没有被识别为maven项目,使用下面方法即可1、首先点击工具栏最左边的 Help 再点击 Find Action ;或者使用快捷键 Ctrl+Shift+A2、接着在输入框中输入 maven projects ,会弹出一个 Add Maven Projects 选项,点击即可,会弹出下图的弹窗3、最后,选择本项目的 pom.xml 点击 OK 即可解决!...
2021-09-28 23:14:35
31940
15
原创 Java 如何对中文排序
字符串的 compareTo() 方法是不能对中文排序的,下面这个例子中的中文使用 compareTo() 方法排序后得到的是乱序List<String> stringList = Arrays.asList("李四", "阿毛", "老王", "小李", "小董");// 按照字符串排序stringList.sort((x,y)->x.compareTo(y) );stringList.forEach(System.out::println);//输出结果小李小董李四
2021-09-28 22:50:45
6383
1
原创 Java 实例 - 基本类型int、long、double数组转化成List简便的方法
1. 方式一(最简单方式)// 注意:这种方式不能向 asList 方法直接传 int、long、double数组String[] strings = {"666" , "888" , "999"} ;List<Integer> intList = Arrays.asList(1,2,3);List<Long> longList = Arrays.asList(1L,2L,3L);List<Double> doubleList = Arrays.asList(1
2021-09-27 10:39:53
7279
原创 Stream API 详解
文章目录1. Stream API1. Stream 的操作三个步骤2. 如何创建 Stream3. Stream 的中间操作3.1 筛选与切片3.2 映射3.3 排序4. Stream 的终止操作4.1 查找与匹配4.2 归约4.3 收集4.4 分组示例(重点)2. 测试数据和实体类代码1. Stream APIJava 8中有两大最为重要的改变。第一个是 Lambda 表达式;另外一个则是 Stream API(java.util.stream.\*) 流(Stream) 是数据渠道,用于操作数据源
2021-09-26 23:04:05
1277
原创 方法引用和构造器引用
文章目录1. 方法引用1. 对象::实例方法 示例2. 类名::静态方法 示例3. 类名::实例方法 示例4. 总结2. 构造器引用1. 构造器引用和数组引用 示例1. 方法引用什么是方法引用当要传递给 Lambda 体的操作,已经有实现的方法了,可以使用方法引用! (实现抽象方法的参数列表,必须与方法引用方法的参数列表保持一致!) 方法引用:使用操作符 :: 将方法名和对象或类的名字分隔开来。 如下三种主要使用情况: (抽象方法参数列表里面的参数,第一个参数可被当作对象使用,也可以当作参数使用,
2021-09-25 17:01:52
559
原创 Java 内置四大核心函数式接口
文章目录Java 内置四大核心函数式接口1. Consumer 消费型接口 示例2. Supplier 供给型接口 示例3. Function 函数型接口 示例4. Predicate 断言型接口 示例Java 内置四大核心函数式接口函数式接口参数类型返回类型用途Consumer<T> 消费型接口Tvoid对类型为T的对象应用操作,无返回值,包含方法: void accept(T t);Supplier<T> 供给型接口无T返回类型为T的
2021-09-20 22:44:14
245
原创 Lambda 表达式语法讲解
文章目录1. Lambda 表达式简介2. Lambda 表达式语法3. 总结4. 代码案例1. Lambda 表达式简介什么是 Lambda 表达式Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使 Java的语言表达能力得到了提升。Lambda 表达式需要函数式接口的支持,什么是函数式接口接口中只有一个抽象方法的接口,称为函数式接口。可以使用注解 @Function
2021-09-19 18:31:13
471
原创 Java String.format() 方法的使用
String format 方法的使用format(String format, Object… args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。format(Locale locale, String format, Object… args) 使用指定的语言环境,制定字符串格式和参数生成格式化的字符串。1. %s:字符串类型,一个%s对应一个参数System.out.println(String.format("Hello %s" , "World"));Sys
2021-09-02 21:37:33
2628
原创 Java自带二进制、八进制、十进制、十六进制转换
1、N进制转十进制把N进制的字符str转换成十进制Integer.valueOf( str, N ) 方法等同于 Integer.parseInt( str, N ) 方法// str 是字符串// N 整数,指定str是几进制Integer.parseInt(str, N)示例:System.out.println(Integer.parseInt("F1", 16));System.out.println(Integer.parseInt("12", 4));System.out.p
2021-09-02 21:34:49
1487
原创 Cron 表达式详解
Cron 表达式格式说明Cron表达式是一个字符串,字符串以5个空格隔开,分为6个字段,每一个字段代表一个含义,Cron语法格式如下:Seconds(秒) Minutes(分) Hours(小时) DayofMonth(日期) Month(月份) DayofWeek(星期)字段允许值允许的特殊字符秒0-59, - * /分0-59, - * /小时0-23, - * /日期1-31, - * / ?月份1-12, - * /星期
2021-08-18 19:37:15
1353
原创 Cron expression must consist of 6 fields
**corn 表达式为: **@Scheduled(cron = "* * * 20 * ? 2021")运行代码提示报错:// Cron 表达式必须包含 6 个字段Cron expression must consist of 6 fields (found 7 in "* * * 20 * ? 2021")出现这样的报错我真的有些怀疑,是其他文章描述有错误还是后来官方更新为了6个字段。欢迎大佬留言解惑十分感谢!运行代码Demo1、依赖<!-- SpringBoot 控制版本:2
2021-08-18 17:13:02
5444
1
原创 1步搞定优快云生成头部目录
在博客最上方输入 @[TOC](文章目录) 即可实现生成目录@[TOC](文章目录)效果图:文章目录一1.1二2.1一1.1二2.1
2021-08-17 20:26:57
167
原创 Logback基本使用
看了V哥的原文后稍作修改【原文】代码 demo1、简介什么是Logback?Logback是由log4j创始人设计的又一个开源日志组件。(百度百科)Logback 相比于 log4j与log4j相比,Logback带来了很大的改进,因为这两个项目都是由同一个开发人员创建的。如果您已经熟悉log4j,那么使用Logback很快就会感到宾至如归。作者根据以前在log4j上的工作,重新编写了Logback内部程序,以便在某些关键执行路径上执行速度大约快十倍。Logback组件不仅速度更快,而且内存占用
2021-08-17 20:20:01
6468
原创 IDEA常用快捷键
IDEA常用快捷键快捷键描述Ctrl+Shift+R全局搜索Ctrl+F局部搜索Shift双击搜索类、接口等Ctrl+鼠标点击类名称进入类的内部Ctrl+Alt+O清除不使用的importCtrl+Alt+L格式化代码Ctrl+Shift+Y翻译单词,需要安装 Translation 插件才可使用Ctrl+Alt+B查找接口或者类的实现类Ctrl+H查看接口或者类的继承关系Ctrl+P查看方法中缺的参数Ct
2021-08-14 19:54:11
869
2
原创 IDEA常用插件
插件:Gitee作用:git工具插件如图,安装好之后可以到下面有个小标识插件:Lombok作用:可以简化 get set 等代码量,但是需要添加 lombok 依赖,通过注解的方式来减少代码量,lombok的使用不在本次介绍范围。插件:MyBatisX作用:MybatisPlus开发的插件,可以通过mapper快速定位到xml文件安装好之后,可以看到代码中有这样一个小鸟的图标插件:Translation作用:可以在IDEA中翻译英文,通过快捷键 Ctrl+Shift+Y 可以快速翻
2021-08-14 19:39:46
4018
原创 warning no match for this type name:com.xxx.xxx [Xlint:invalidAbsoluteTypeName]
今天在写代码的时候遇到这样一个问题:Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: warning no match for this type name: com.wasu.test [Xlint:invalidAbsoluteTypeName]根据上面描述,大概意思就是:AOP表达式错误,匹配失败。然后我就查找了一些博客、看了看官方文档,终于找到了原因!我原本写的
2021-08-12 11:01:23
4032
2
原创 execution(表达式)总结 AOP
1、切入表达式总结文章如有错误,欢迎指出~这里只对 execution(表达式) 进行简单讲解表达式的结构分为: 访问修饰符 返回值 包名.包名.包名...类名.方法名(参数列表)标准的表达式写法(下面举例说明,如果想精准的匹配到某个类的某个方法,表达式应该怎么写): (无省略版写法:精准匹配到AccountServiceImpl类的saveAccount()方法) public void com.dongkuku.service.impl.AccountServiceImp
2021-08-12 10:51:31
1482
原创 为什么多次启动程序 hashCode 值输出都相同?
hashCode 多次输出值都相同下面只是我的推测,有知道为什么 hashCode 多次输出值都相同 的大佬们,请留言讨论!如果你没有重写 hashCode 的生成规则,那就是使用的默认规则,默认 hashCode 值是由 当前线程有关的一个随机数+三个确定值 确定的,所以我们多次启动同一个程序,输出的 hashCode 值是相同的如果你想了解 hashCode 值的底层原理的小伙伴可以点这两个链接Java 的 HashCode 底层生成分析常用类 HashCode 生成规则案例一,多以运行这端
2021-07-29 20:59:13
801
1
原创 Java怎么获取对象地址
Java 如何获取内存地址Java 中不建议直接获取字符串内存地址,因为 Java 不像 C 语言,获取内存地址是 C 语言的强项,Java 的弱项。 但是 Java 内存地址还是有一个应用场景,就是判断两个字符串内存地址是否相等来判断是否是同一个对象,用双等号 = 来比较的。参考代码如下:public class Test01 { public static void main(String[] args) { String str1="abc"; String
2021-07-29 16:01:55
5487
5
原创 常用类 HashCode 生成规则
常用类 HashCode 生成规则1、对于integer源码如下:@Overridepublic int hashCode() { return Integer.hashCode(value);}public static int hashCode(int value) { return value;}可以看出value就是对应的hashcode值2、对于String源码如下:public int hashCode() { //这里的 h 默认等于 0
2021-07-29 15:55:38
453
转载 Java 的 HashCode 底层生成分析
转载:链接hashCode 值的生成Java 的 hashCode 值怎么生成的?和对象的内存地址有关系?先看一个最简单的打印System.out.println(new Object());会输出该类的全限定类名和一串字符串:java.lang.Object@6659c656@符号后面的是什么?是 hashcode 还是对象的内存地址?还是其他的什么值?其实 @ 后面的只是对象的 hashcode 值,16进制展示的 hashcode 而已,来验证一下:Object o = new
2021-07-29 10:29:14
2447
原创 org.apache.dubbo.config.annotation.Service; Dubbo的@Service注解被弃用
@DubboService今天使用Nacos搭建Dubbo,一上来就遇到与个问题,以前的org.apache.dubbo.config.annotation.Service @Service注解显示已被弃用,后来我下载源码,根据源码的注释发现,被弃用的注解@Service由@DubboService替代。官方描述/** * Service annotation * * @see DubboService * @since 2.7.0 * @deprecated Recommend {@lin
2021-07-28 09:17:40
2657
原创 使用Alibaba fastjson包错误:java.lang.ClassFormatError: Illegal UTF8 string in constant pool in class file
Exception in thread “main” java.lang.ClassFormatError: Illegal UTF8 string in constant pool in class file com/alibaba/fastjson/parser/deserializer/FastjsonASMDeserializer_1_logisticsPojo今天在使用 Alibaba 的包解析JSON时出现了上面的报错,刚开始以为是JSON中的字符不符合UTF8编码,然后在这个点上一直没有解决
2021-07-20 09:16:26
1652
1
原创 Windows电脑如何开启CPU虚拟化
1、首先你要检测看看自己的电脑是否已经开启了CPU虚拟化,进入任务管理器就可以查看是否开启的结果。进入任务管理器(可以通过下面两种快捷键的方式快速进入任务管理器 1. CTRL+ALT+. ; 2.CTRL+SHIFT+ESC)2、按照图示查看结果如果你的电脑显示没有开启虚拟化,那么请耐心继续下面的操作开启方法如下:1、首先,你需要确认的使你的计算机型号和CPU、BIOS的型号,因为过老的计算机是不支持虚拟化技术的。以hp笔记本电脑为例,在开机的同时按F10进入bios,其他电脑是F1-F1
2021-06-18 15:20:33
31740
6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人