![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
码路编
这个作者很懒,什么都没留下…
展开
-
利用JSR303来完成对象参数校验
JSR 303在任何时候,当你要处理一个应用程序的业务逻辑,数据校验是你必须要考虑和面对的事情。应用程序必须通过某种手段来确保输入进来的数据从语义上来讲是正确的。在通常的情况下,应用程序是分层的,不同的层由不同的开发人员来完成。很多时候同样的数据验证逻辑会出现在不同的层,这样就会导致代码冗余和一些管理的问题,比如说语义的一致性等。为了避免这样的情况发生,最好是将验证逻辑与相应的域模型进行绑定。...原创 2020-01-05 18:31:51 · 429 阅读 · 0 评论 -
Java如何预防NullPointerException
1. 问题引入之前写过一篇文章 利用JSR303来完成对象参数校验,我们可以很好的对对象进行参数校验。采用这种方法,我们可以对某个对象被使用之前进行必要的参数校验,如果出现异常,我们可以跑出异常也可以返回结果。但是如果我们想对一个方法的参数进行一些类似非空校验的操作,可否有更好的方法来避免产生java.lang.NullPointerException异常呢?2. 采用Objects类提供的方...原创 2020-01-05 18:29:44 · 401 阅读 · 0 评论 -
日期格式‘YYYY-MM-DD’中的BUG
1. 日期格式先来看一下日期格式主要有下面三种,US style,Euro style,RFC 3389。Layout Format string Example------------------------ ------------- ----------US style (Dec 29, 2019) MM/DD/YY...原创 2020-01-05 18:27:00 · 3408 阅读 · 0 评论 -
Java字符编码的那些事
1. 问题引入1.1 GBK、UTF8、ISO-8859-1由于GBK中采用的中文是2个字节的,而UTF8中的中文是3个字节的,特殊生僻字采用的是4个字节,这就导致我们在将GBK编码的中文转为UTF8的中文需要补充字节数,才能进行编码的转换。如果直接强行转换的话,那么将会导致自动补充编码的情况发生,出现乱码。以非UTF-8编码编码出的字节数组,一旦以UTF-8进行解码,通常这是一条不归路!...原创 2020-01-04 23:39:54 · 190 阅读 · 0 评论 -
如何对HashMap进行排序
如何对HashMap进行排序在这篇文章中,我们将介绍如何对HashMap进行排序,我们将讨论如何通过键或者值对HashMap进行排序。为了下面文章的演示,我们先构造一个HashMap@Data@AllArgsConstructorclass Student{ private Integer id; private String name; @Override...原创 2019-04-12 10:50:11 · 10227 阅读 · 2 评论 -
StringUtils使用介绍
StringUtils使用介绍在本文章中,我们将介绍StringUtils的使用方法,正如它的名字一样,它是Apache Commons Lang中的一员,被用来处理字符串的常用操作,它对我们一些常用的操作进行了包装,相比于我们自己写的代码,使用它会显得更加小巧,简介和易读。1. 简介在Apache Commons包中,有两个StringUtils类,一个是org.apache.comm...原创 2019-04-12 10:49:26 · 15588 阅读 · 0 评论 -
FileUtils使用介绍
FileUtils使用介绍这篇文章我们会介绍FileUtils类相关的功能,它也是Apache Commons IO的一部分。它所提供的方法将我们常用的任务进行了包装,使我们写的代码更简洁易读。1. FileUtils方法我将介绍FileUtils类中一些重要的方法,并详细说明它们如何使用。FileUtils是一个静态类,这样意味着我们可以不用实例化就可以直接通过类去调用方法。con...原创 2019-04-12 10:48:46 · 3125 阅读 · 0 评论 -
IOUtils使用介绍
IOUtils使用介绍在下面的例子,我们将详细说明如何使用 org.apache.commons.io 包中的 IOUtils类如何使用,通过包名我们可以知道它是 Apache Commons IO 的一部分 。该类的所有成员函数都被用来处理输入 - 输出流,它的确非常利于来编写处理此类事务的程序。IOUtils与其他Apache Commons中的类一样,都是处理IO操作的非常重要包装器,与手...原创 2019-04-12 10:48:02 · 33023 阅读 · 1 评论 -
HTTPClient使用方法总结
1. 简介超文本传输协议(HTTP)可能是当今Internet上使用的最重要的协议。Web服务、支持网络的设备和网络计算的增长继续扩展HTTP协议在用户驱动的Web浏览器之外的作用,同时增加了需要HTTP支持的应用程序的数量。虽然java.net包提供了通过HTTP访问资源的基本功能,但它没有提供许多应用程序所需的全部灵活性或功能。HttpClient试图通过提供一个高效的、最新的、功能丰富的...原创 2019-03-25 14:25:05 · 1485 阅读 · 0 评论 -
Java时间计算
Java在给定的时间的基础上加减多少小时分钟import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class MyTime { private SimpleDateFormat sdfA = new SimpleDateFormat("yyyy-...原创 2019-03-12 16:19:38 · 682 阅读 · 0 评论 -
Java基础-Hash算法
文章转载自: 全网把Map中的hash()分析的最透彻的文章,别无二家。 你知道HashMap中hash方法的具体实现吗?你知道HashTable、ConcurrentHashMap中hash方法的实现以及原因吗?你知道为什么要这么实现吗?你知道为什么JDK 7和JDK 8中hash方法实现的不同以及区别吗?如果你不...转载 2018-04-30 10:14:38 · 1641 阅读 · 0 评论 -
next()和nextLine()的区别
next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。简单地说,next()查找并返回来自此扫描器的下一个完整标记。完整标记的前后是与分隔模式匹配的输入信息,所以next方法不能得到带空格的字符串。 而转载 2016-08-31 23:46:41 · 392 阅读 · 0 评论 -
Java中值传递和引用传递
值传递和引用传递值传递(pass by value)是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。引用传递(pass by reference)是指在调用函数时将实际参数的地址直接传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。一:搞清楚 基本类型 和 引用类型的不同之处int num = 10;Stri...转载 2018-04-08 17:27:24 · 113 阅读 · 0 评论 -
关键字final,static使用方式总结
final final关键字有这是无法改变的或者终态的含义,可以修饰非抽象类,非抽象类成员方法和变量final类不能继承,没有子类,final类中的方法默认是final的final方法不能被子类方法覆盖,但可以被继承final成员变量表示常量,只能被赋值一次,赋值后值不再改变final不能用于修饰构造方法注意:父类的private成员方法是不能被子类方法覆盖的,因此pr...原创 2018-04-08 16:40:01 · 452 阅读 · 0 评论 -
集合迭代
集合迭代任意可迭代集合数据类型: 1. 集合数据类型必须实现一个iterator()方法,并返回一个Iterator对象 2. Iterator类必须包含两个方法,hasNext()返回boolean值和next()返回集合中的一个泛型元素。 import java.util.Iterator; /** * Created By liuyao on 2017/...原创 2018-03-29 21:04:20 · 274 阅读 · 0 评论