
java相关
文章平均质量分 72
java的基础开始,慢慢成长
江湖一点雨
本来想把收费专栏限时转为免费,给大家一波回归福利,结果官方不支持。收费专栏限时最低价好了~
展开
-
集合数据丢失distinct与EqualsAndHashCode的Bug问题
就如本文案例而言,是因为系统有多个类有相同的部分属性,把它们定义到父类中,恰好userId也在父类中,在代码中,有涉及到集合对象比较时(父类属性不同,子类属性相同的情况下),它们本来是不相等的,却因为lombok中 callSuper 属性默认忽略掉父类的成员的差异(userId、name不同),所以自动生成的equals() 和 hashCode() 方法就以UserDto类下的成员(其他附加字段,如sex是一样的)来错判成了某些对象是相等的,从而导致本次数据出现丢失的Bug。默认就是false。原创 2022-09-20 17:27:11 · 992 阅读 · 2 评论 -
老生常谈,equals和hashCode那些事儿
equals 为 true , hashCode 必须相等。hashCode 相等时 , equals 不一定为 true,判完hash记得判equals。hashCode 不相等,则两个对象一定不相同。两个对象相同,则哈希码和值都一定相等。回到最初的论点,记住,只要重写 equals,就必须重写 hashCode,这是一个很重要的细节,如果不注意的话,很容易发生业务上的错误。原创 2022-09-20 16:22:25 · 656 阅读 · 0 评论 -
java/web/springboot中构建菜单权限的完整路径
前言首先这不是一个常规的单单生成菜单权限树,网上找遍了,也没有我这种需求。大多数都是在构建一颗权限树,按照id进行分级。然而,这次的需求,不是需要id树这么简单。需求问题本次需求是,构建权限菜单的完整路径,并非id组成,而是名称组成。大概需要得到的效果如下:说明:sys_permission 是一张菜单权限表,其他字段可以不管,有如图3个字段即可。permission_id 是某个菜单的主键id。parent_Id 是该菜单对应的上级权限id,即父级菜单的id。上下级菜单,通过pare原创 2021-11-25 18:19:44 · 1368 阅读 · 0 评论 -
java策略模式去掉冗余if-else实战支付案例
java策略模式去掉冗余if-else支付案例实战前言上一篇文章介绍了 java中冗余if-else代码块的优化(策略模式法,反射法),里面详细介绍了策略模式+工厂模式来解决代码中大量的if-else结构。这一篇就举个实战例来说明,怎么使用策略模式。1.支付案例需求假设你在做的某个项目,需求就是页面选择不同的付款渠道,计算不同的折扣,进行扣款。看到这个图片,有小伙伴在遇到诸如此类的...原创 2020-04-10 22:12:57 · 1988 阅读 · 5 评论 -
java中冗余if-else代码块的优化(策略模式法,反射法,其他最新方案)
JAVA中冗余if-else代码块的优化开发中我们会经常写if(…) { } else if(…) {} else if (…) {}等多个逻辑判断,一般else if 会有好几个,比如这样:多个else if代码块会使得整个方法看起来比较臃肿,这篇文章的目的就是通过几种方式来减少甚至消灭else if。优化冗余if-else代码块的三种方式1.switch-case结构在大多数文...原创 2020-04-10 21:32:25 · 2750 阅读 · 0 评论 -
java 控制台输出限制器
java 控制台输出限制器场景List输出控制器场景你针对于一些比较大的数据内容,通常采用list封装之类的,但是在调试和开发的时候,比如在eclipse中,需要打印出数据来看看,可是如果照常打印的话,控制台里面的内容往往会只能现在最后的内容,更有时候直接eclipse宕机。(IDEA照样会挂掉。)所有这个时候一般使用 控制台输出限制器就是一个控制行数输出的工具类了。List输出控制器我们...原创 2019-07-10 11:53:34 · 1983 阅读 · 0 评论 -
Json--Java数据类型对照表(映射)表
Json–Java数据类型对照表(映射)表在企业级的开发中,json是通用的标准格式,基本上所有的数据都按照json格式来存放,传递。因此梳理一下,关于java、python和json的关系。(因为博主是java、python双休的。)Json和Java实体的数据类型的对照(映射):JSONJavastringjava.lang.Stringnumberjav...原创 2019-01-24 15:26:08 · 6202 阅读 · 1 评论 -
《剑指Offer》——所有面试题源码
《剑指Offer》 剑指Offer这本书在学习java算法中还算优秀,留下一个总目录,供自已和大家一起参考。目录第01-10题【剑指Offer学习】【面试题02:实现Singleton 模式——七种实现方式】【剑指Offer学习】【面试题03:二维数组中的查找】【剑指Offer学习】【面试题04:替换空格】【剑指Offer学习】【面试题05:从尾到头打印链表】【...转载 2018-07-05 13:29:15 · 3769 阅读 · 0 评论 -
Java的四种保留小数点方法
1.前言在java的学习中,往往算法有一个是属于java的小数点位数保留。 一般有四种方式,如下:package java_stu;/** * @see java保留小数点示例 * */import java.math.BigDecimal;import java.text.DecimalFormat;import java.text.NumberFormat;pu...原创 2018-03-26 19:31:08 · 6922 阅读 · 0 评论 -
java实体类为什么要写.toString()方法?
java实体类重写.toString()方法前言 笔者在做javaweb项目时候,使用SSM+maven+easyui,然后在写java实体类的时候,发现大家都要写tostring方法,那么为什么java实体类都要写.toString()方法?于是顺便在这里记录一下。了解 在Java中每个类都默认继承Object类,除非声明继承于某个类。 而toString 方法来...原创 2018-02-08 15:34:28 · 11504 阅读 · 9 评论 -
java练习之大数字求和
求两个不超过200位的非负整数的和一、使用BigInteger类、BigDecimal类import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String [] args){ Scanner red =new Scann...原创 2018-03-06 21:17:00 · 1950 阅读 · 0 评论 -
每天一个java练习之数组常用操作(1)
1.使用nextLine接收输入的数据,那么需要是String类型的对象保存。//1.键盘读取一组字符串数据。 Scanner red = new Scanner(System.in); String num = red.nextLine(); System.out.println(num);运行结果:输入:5 4 3 2 15 4 ...原创 2018-03-06 20:14:29 · 529 阅读 · 0 评论 -
每天一个java小程序之数组复制与合并
每天一个java小程序之数组复制与合并:1. 复制数组:System.arraycopy()使用System.arraycopy()函数来对一个数组A进行内容复制到数组B; 这样就不要遍历来复制,更快捷public static void main(String[] args) { int a [] = new int[]{18,62,68,82,65,9};原创 2018-02-04 18:40:22 · 1154 阅读 · 1 评论 -
Java基础知识巩固练习之阿里云基础测试题1
1. 关于++i跟i++的区别:class Happy { public static void main(String args[]){ int i = 1 ; int j = i++ ; if((i==(++j))&&((i++)==j)){ i +原创 2018-02-03 17:11:29 · 3615 阅读 · 3 评论 -
每天一个java小程序之冒泡排序
冒泡排序的使用 * 将N个整数按从小到大排序的冒泡排序法是这样工作的: * 从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。 * 通过一遍扫描,则最后一个元素必定是最大的元素。 * 然后用同样的方法对前N−1个元素进行第二遍扫描。 * 依此类推,最后只需处理两个元素,就完成了对N个数的排序。原创 2017-12-17 22:22:22 · 643 阅读 · 0 评论 -
2.每天一个java小程序之输入输出的两种方式
练习java的两种输入输出方式。学的东西不复习,老是忘记,没办法只能从基础再次写代码来熟悉。这个是java的输入输出方式。两种。做一个简单的加法。原创 2017-11-27 20:19:15 · 1013 阅读 · 0 评论 -
1.每天一个java小程序之猜数字游戏
1.猜数字游戏练习要求:程序随机产生一个0-100之间的随机数字,然后手动输入一个数字比较,根据提示猜数字,最终找到随机数。原创 2017-11-27 20:14:20 · 1589 阅读 · 0 评论 -
3.每天一个java小程序之累加累乘
3.每天一个java小程序之累加累乘java小练习之数的累加累乘,在于锻炼数学计算思维。每天一个小程序,每天进步一点点。原创 2017-11-28 21:43:52 · 6339 阅读 · 0 评论 -
java中常量变量和部分总结一
Java中的变量常量和总结一一、JAVA中的关键字java中的关键字有以下部Java中的变量常量和总结一原创 2017-11-28 21:36:12 · 741 阅读 · 0 评论