Java基础
文章平均质量分 50
基础语法、基本工具包、集合等
Wonder丶丶丶
加油,你要学的东西还很多!
展开
-
正则表达式基本语法和Java中的简单使用
注意:脱字符只能单个字符的判断,不能进行多个字符的字符串整体判断,需要做字符串判断则要用到断言"(?字符串)" 零宽负向先行断言或"(?字符串)" 零宽负向后行断言,即。非某个字符的其他字符,一般用"[^一个字符或多个字符]"表示,如[^>@],即不是>也不是@符号的其他字符。用[]表示一个区域的字符,如[0-9]、[a-z]、[3-9]、[C-N]、[0596mz]对于表达式中的特殊符号,如果需要使用其符号本身(而非特殊含义),则需要在前面加转义符。用()表示一个一个整体。...原创 2022-08-08 10:33:53 · 1433 阅读 · 0 评论 -
SimpleDateFormat做严格时间格式校验
须特别注意setLenient方法,默认是true宽松的格式校验,很多不符合格式的也会转换成功;设置为false则强校验格式,不符合则转换失败。原创 2022-07-27 09:45:56 · 1713 阅读 · 1 评论 -
对成员变量、静态变量、常量、实例变量以及方法变量的基本理解整理
成员变量定义在方法外即全局变量(包括静态变量和实例变量),方法变量定义在方法内,也叫局部变量。原创 2020-07-31 23:58:30 · 1142 阅读 · 0 评论 -
Java中Lombok的使用及其相关注解介绍
Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量,一旦修改属性,就容易出现忘记修改对应方法的失误。原创 2019-09-14 15:04:54 · 1725 阅读 · 0 评论 -
java面试题(数据库连接池)
问题来源:对于一个简单的数据库应用,由于对于数据库的访问不是很频繁。这时可以简单地在需要访问数据库时,就新创建一个连接,用完后就关闭它,这样做也不会带来什么明显的性能上的开销。但是对于一个复杂的数据库应用,情况就完全不同了。频繁的建立、关闭连接,会极大的减低系统的性能,因为对于连接的使用成了系统性能的瓶颈。问题解决:连接复用。通过建立一个数据库连接池以及一套连接使用管理策略,使得一个数据库连接...转载 2019-03-04 19:21:15 · 2592 阅读 · 0 评论 -
java导出excel表格的Util类(含父类属性)
package com.pangding.web.order.util;import org.apache.commons.lang3.StringUtils;import org.apache.poi.ss.formula.functions.T;import org.apache.poi.xssf.usermodel.*;import javax.servlet.http.Htt...原创 2019-07-02 10:56:16 · 844 阅读 · 0 评论 -
java定义系统常量的三种方式(接口、常量类、枚举)
1、接口定义常量public interface Constants{ public String USER_NAME = "WPO1462"; public String SECRET_ID = "wx_25sdl586sam02";}2、常量类public final class Constans{ public static final String...原创 2019-09-09 23:55:56 · 3412 阅读 · 0 评论 -
Java服务端根据WSDL文档调用WebService的五种方式汇总
一、WSDL简介WSDL即为网络服务描述语言(Web Services Description Language),是一门基于 XML 的语言,用于描述 Web Services 以及如何对它们进行访问,一般用作不同语言的服务交互。二、WSDL文件生成Java代码方式以查找手机号归属地为例1、找到WSDL文档进入http://www.webxml.com.cn/zh_cn/w...原创 2019-08-07 14:08:30 · 7697 阅读 · 1 评论 -
实体类转String(即重写toString方法)的N种方式
类如下:public class BosBaseObject implements Serializable { private String createBy; private Long createDate; private String updateBy; private Long updateDate;}一、直接使用(不重写)打印的数据只有类的hashCode,并没有将类中的数据打印出来BosBaseObject baseObject = ne.原创 2021-12-28 14:42:09 · 4915 阅读 · 0 评论 -
java遍历List
初始数据,例如DAO层返回的商品列表List,如下:List<Goods> list = goodMapper.getGoodsBySid(sid);1、迭代器遍历,方便删除元素Iterator<Goods> iterator = list.iterator();while (iterator.hasNext()) { Goods good = it...原创 2019-05-22 22:50:41 · 35457 阅读 · 0 评论 -
java对txt文件的读写操作
1、写入到txt文件/** * @description: 写入到txt文件通用方法 * @params: List<String>---写入的数据list、fileName文件名 * @return: void * @auther: WZH * @date: 2019/9/12 17:54 */public static void writeToTxt(List&...原创 2019-09-12 18:44:07 · 864 阅读 · 0 评论 -
java基础之封装数据类型
Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,很多地方都需要使用对象而不是基本数据类型。比如,在集合类中,我们是无法将int 、double等类型放进去的。因为集合的容器要求元素是Object类型,为了让基本类型也具有对象的特征,就出现了包装类型,它相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。原创 2020-07-21 21:54:02 · 1143 阅读 · 0 评论 -
Spring中的@Param注解和Mybatis中的@Param注解
在dao层接口中导包不同:import org.apache.ibatis.annotations.Param; //Mybatis包import org.springframework.data.repository.query.Param; //spring包用法一致:int selectRoleCount(@Param("businessId") Integ...原创 2019-04-03 11:41:54 · 1445 阅读 · 0 评论 -
java将base64格式字符串保存到服务器
一、base64简介base64是一种常见的用于传输8字节字节码的编码方式,Base64就是一种基于64个可打印字符来表示进制数据的方法。其中64个字符包含2*26个大小写英文字母、10个数字以及'+'和'/',有时候在结尾会有一到两个'='。采用Base64编码具有不可读性,需要解码后才能阅读,主要用于在HTTP环境下传递较长的标识信息。二、base64的编码规则规则:Bas...原创 2019-08-03 16:55:55 · 2154 阅读 · 2 评论 -
java判断是否可以ping通某个地址
/** * @description: 判断是否可以ping通某个地址,10s内ping5次均可ping通 * @params: url网址或者IP,如:www.baidu.com 220.181.38.148 * @return: * @auther: WZH * @date: 2020/1/29 21:49 */public static boolean canPing(String url) { return ping(url,5,10);}public static bo.原创 2020-11-17 00:13:49 · 906 阅读 · 0 评论 -
java反射机制获取所有属性(包括所有父类)
1、getFields和getDeclareFields的区别Field[] fields = object.getClasss().getFields();Field[] fields1 = object.getClasss().getDeclareFields();Field[] fields2 = model.getClass().getSuperclass().getDecla...原创 2019-08-02 20:35:28 · 6577 阅读 · 3 评论 -
java基础之自动拆装箱和整型缓存机制
自动装箱: 就是将基本数据类型自动转换成对应的包装类。自动拆箱:就是将包装类自动转换成对应的基本数据类型。Integera= 10;//自动装箱inti =a;//自动拆箱实现原理://自动装箱是通过valueOf方法实现的Integer a = Integer.valueOf(10); //自动拆箱是通过intValue方法实现的int i = a.intValue();应用场景:场景一、将基本数据类型放入到集合中时,进行自动装箱List&...原创 2020-09-16 18:03:58 · 159 阅读 · 0 评论 -
Java中double保留两位小数的四种方法
一、使用BigDecimal的setScale方法double one = 5.26419;BigDecimal two = new BigDecimal(one);double three = two.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();二、使用DecimalFormatdouble one = 5.26419...原创 2020-05-02 17:55:37 · 36147 阅读 · 0 评论 -
前后端交互时将返回值中的null置为空字符串的8种方式(亲测有效)
返回给前端的Json对象中有很多字段没有值,就会有很多的null值(如下图)前端判断处理会比较麻烦,所以打算在后端回传数据时做一下处理:1、字符串null值置为空字符串2、空List转为[]3、封装数字类型null转为04、Boolean类型null转为false方式一、通过继承WebMvcConfigurerAdapter,重写configureMessageConverters方法实现@Configurationpublic class MyJsonConfig ..原创 2021-01-12 18:58:36 · 10828 阅读 · 0 评论 -
java获取指定文件夹下的所有文件名
List<String> list = new ArrayList<>();String path = "/usr/local/tomcat/webapps/shop/img/";File file = new File(path);File[] files = file.listFiles();for (File img:files) { list.add("...原创 2019-05-22 22:24:32 · 5990 阅读 · 0 评论 -
java判断服务器系统是Windows还是Linux
String os = System.getProperty("os.name").toLowerCase();System.out.println(os); //windows 7if (os.startsWith("win")) { return false;}原创 2019-05-14 16:59:03 · 2429 阅读 · 0 评论 -
防止空指针优雅的写法
使用Optionalpublic static void main(String[] args) { BigDecimal decimal = null; //如果为空则默认值为123 BigDecimal a = Optional.ofNullable(decimal).orElseGet(()->new BigDecimal("123")); //只有为空时调用newOne方法生成999 BigDecimal b = Optional.ofNullable(decimal).orE原创 2021-09-27 19:37:38 · 685 阅读 · 0 评论 -
Java中找出List对象集合某个字段的重复值以及对该字段进行排重
1、找出List对象集合某个字段的重复值public static void main(String[] args) { List<OrderViewModel> orderList = new ArrayList<>(); for (int i=0;i<10;i++){ OrderViewModel model = new OrderViewMode...原创 2020-01-10 13:53:50 · 6905 阅读 · 2 评论 -
java中lambda表达式的简单使用
1、map的foreach操作Map<String,Object> map = new HashMap<>();map.put("1001","1001");map.put("1002",1002);map.put("1003",100.3);map.forEach((key,value)->{ System.out.println(key+"---"...原创 2019-08-02 17:42:57 · 201 阅读 · 0 评论 -
判断Object是否为空的通用方法
1、判断Object是否有空(类型包含CharSequence、Number、Collection、Map、Object[])public static boolean checkObject(Object object){ if(object==null){ return true; } if(object instanceof CharSequence){ ...原创 2019-08-02 20:49:31 · 6849 阅读 · 0 评论 -
Java访问WebService设置访问用户名、密码、超时时间(导入wsdl方式)
public static void main(String[] args) { MobileCodeWS service = new MobileCodeWS(); MobileCodeWSSoap port = service.getMobileCodeWSSoap(); ((BindingProvider)port).getRequestContext().put(BindingPr...原创 2019-09-20 17:31:06 · 3355 阅读 · 6 评论 -
java对ftp服务器中文件操作
1、pom中添加依赖<dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.6</version></dependency>2、简单的工具类...原创 2019-05-22 14:56:04 · 484 阅读 · 0 评论 -
java面试题(集合框架)
所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。Map是一种键和值的映射关系(双列集合) ,Collection中存储了一组对象。Collection接口Collection接口有两个主要的子接口List和Set;Set表示不允许有重复...原创 2019-03-04 12:50:54 · 365 阅读 · 0 评论 -
java中Switch语句的用法
switch的常见用法如下:public String method(String variable){ switch (variable){ case "11": System.out.println("111"); break; case "22": System.out.println("222"); break; default: System.out.println("def"); }}注意:1、switch后的变量可以是byte、s.原创 2020-09-08 19:47:47 · 6665 阅读 · 0 评论 -
java中BigDecimal的用法
一、BigDecimal简介1、特性2、使用场景二、创建BigDecimal//用double创建BigDecimal one = new BigDecimal(1.5105);//用String创建BigDecimal two = new BigDecimal("1.5105");//用int创建BigDecimal six = new BigDecimal(1);...原创 2019-09-06 20:50:40 · 353 阅读 · 0 评论 -
java获取服务器路径和类加载路径
public void uploadPic(HttpServletRequest request){ int[] ports = new int[3]; ports[0] = request.getServerPort(); //获取服务器端口 ports[1] = request.getLocalPort(); //获取本地端口 ports[2] = request....原创 2019-05-14 15:40:59 · 481 阅读 · 0 评论 -
java通过函数的重载来实现函数参数默认值
public class ParameterDefault { /** * @param args */ public String getName(String givenName,String familyName){ return givenName+"."+familyName; } pub...原创 2019-09-28 11:45:36 · 511 阅读 · 0 评论 -
MD5消息算法简介以及java生成32位大写MD5简单工具类
MD5消息摘要算法(MD5 Message-Digest Algorithm)为计算机安全领域广泛使用的一种Hash算法,用以提供消息的完整性保护。MD5主要特性有:1、不可逆性,容易加密,极难解密;2、唯一性,不同的输入内容有不同加密的结果;3、压缩性,任意长度的内容加密后都是32位,传输、验证、存储方便,对于验证大文件的完整性优势显著。MD5典型应用场景:1、用户...原创 2019-08-05 22:07:26 · 944 阅读 · 0 评论 -
java中+=、-=、=+、=-在变量为整型和非整形时的含义亲测示例整理
1、a+=b即为a=a+b、-=即为a=a-bint a = 2;int b =3;//其解析为b = b + ab += a;//a=2 b=5System.out.println(a);System.out.println(b);int a = 2;int b =3;//其解析为b = b - ab -= a;//a=2 b=1System.out.println(a);System.out.println(b);2、=+相当于直接赋值,其中的“+”为符号正.原创 2020-07-14 23:32:16 · 2665 阅读 · 0 评论 -
java基础之map对象的常用遍历方式
Map<String, String> map = new HashMap<String, String>(); map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3");1、通过Map.Entry遍历(最常用,容量大时效率高)for (...原创 2019-04-23 11:58:18 · 166 阅读 · 0 评论 -
java基础之基本数据类型详解
一、整型1、byte,一个字节8位(1位符号,7位数字),取值范围-128(-2^7)到1272、short,两个字节16位(1位符号,15位数字),取值范围-32,768(-2^15)到32,7673、int,四个字节32位(1位符号,31位数字),取值范围-2,147,483,648(-2^31)到2,147,483,6474、long,八个字节64位(1位符号,63位数字),取值范围-9,223,372,036,854,775,808(-2^63)到2^63-1特别注意:1、j原创 2020-07-12 01:47:44 · 455 阅读 · 0 评论 -
java整型变量数值溢出示例
java中基本数据类型int的取值范围为-2,147,483,648(-2^31)到2,147,483,647所以在可能出现数值溢出时一定要注意,因为系统是不会报错的,而是使用一个错误的数据当直接赋值时会出现警告,如下:此时的数值差异如下:int one = 5* 30 * 24 * 60 * 60 * 1000;//75098112System.out.println(one);long two = 5* 30 * 24 * 60 * 60 * 1000L;//1296000原创 2020-07-13 22:13:24 · 628 阅读 · 0 评论 -
java中i++、++i、i--、--i的含义以及经典例题亲测整理
1、i++先赋值后自加,i--同理先赋值后自减int a1= 2;//先赋值后自加 b1=a1; a1=a1+1;int b1 = a1++;//b1=2 a1=3System.out.println(b1);System.out.println(a1);2、++i先自加后赋值,--i同理先自减后赋值int a1= 2;//先自加后赋值 a1=a1+1; b2=a1;int b2 = ++a1;//b2=a1=3System.out.printl.原创 2020-07-14 23:16:44 · 3707 阅读 · 0 评论 -
java整型的八进制、十六进制表示方式
1、八进制,在整数前加"0"。//78int i = 0116;2、十六进制,在整数前加"0x"。//278int i = 0x116;//9223372036854775807long i = 0x7fffffffffffffffL;原创 2020-07-19 20:29:31 · 780 阅读 · 0 评论 -
java逻辑运算符之异或
逻辑运算符异或用^表示,前后条件有且只有一个true,即前后条件互斥boolean bool1 = true;boolean bool2 = false;//trueSystem.out.println(bool1^bool2);boolean bool1 = false;boolean bool2 = true;//trueSystem.out.println(bool1^bool2);boolean bool1 = false;boolean bool2 = false.原创 2020-07-11 23:22:33 · 2495 阅读 · 0 评论