이 글은 Java 개발에서 자주 사용되는 jar 패키지와 자주 사용되는 API 레코드를 제가 직접 컴파일한 것입니다.
1. Common-lang3
소개: 가장 일반적으로 사용되는 jar 패키지 중 하나이며, 일반적으로 사용되는 많은 도구 패키지를 캡슐화합니다
(추천 동영상: java 동영상 튜토리얼)
종속성:
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version> </dependency>
주요 공통 클래스는 다음과 같습니다.
Array 도구 클래스 ArrayUtils
Date 도구 클래스 DateUtils
String 도구 클래스 StringUtils
Number 도구 클래스 NumberUtils
Boolean 도구 클래스 BooleanUtils
Reflection 관련 도구 클래스 FieldUtils, 초, MemberUtils , TypeUtils, ConstructorUtils
객체 도구 클래스 ObjectUtils
직렬화 도구 클래스 SerializationUtils
API 소개
여기에서는 일반적으로 사용되는 몇 가지 도구 클래스 및 메소드인 ArrayUtils, StringUtils, NumberUtils, DateUtils 등만 소개합니다. 공식 API 문서를 확인하세요
1.ArrayUtils
Method name | Description |
---|---|
add | |
remove | |
clone | 배열 복사 | ㅋㅋㅋ ]) 래퍼 클래스로 변환 (Int[], Double[])
indexOf |
배열에서 순서대로 검색하고, 배열에서 해당 값 |
lastIndexOf | 을 만족하는 첫 번째 첨자를 찾습니다. order Search, 해당 값을 만족하는 마지막 첨자를 찾습니다 |
contains | 배열에 특정 값이 포함되어 있는지 |
isEmpty | 배열이 비어 있는지 판단 |
isNotEmpty | 배열이 비어 있는지 판단 비어 있지 않습니다 |
reverse | Array reversal |
subarray | 간격은 반 개방 간격이며 끝을 포함하지 않습니다. 2차원 배열을 해당 배열 유형에 맞게 Map으로 변환합니다 |
toMap | |
min | |
max | |
createInt | |
toInt |
compare
동일한 유형의 두 값의 크기를 비교isDigits
|
isParsable | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
isNumber | 문자열이 숫자 값인지 확인합니다(0x, 0X는 동일한 기본 값으로 시작) | |||||||||||||||
3.DateUtils | ||||||||||||||||
메서드 이름 | ||||||||||||||||
Date 객체를 문자열로 변환 | ||||||||||||||||
두 날짜를 판단합니다. 객체가 같은 날인지 여부 | ||||||||||||||||
여부를 결정합니다. 두 개의 Dated 객체가 같은 날입니다 | ||||||||||||||||
지정된 Date 객체에 지정된 시간을 추가합니다. 그 외에도 addMonth, addDay.. 등이 있습니다. |
설명 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
containOnly | ||||||||||||||||
substringBefore | ||||||||||||||||
substringAfter | 지정된 문자열 뒤의 콘텐츠 차단(지정된 문자열 제외) | |||||||||||||||
substringBetween# 🎜🎜# | substringBetween("abcde","a","e")="bcd" | |||||||||||||||
difference | 두 문자열을 비교하고 두 문자열의 서로 다른 내용을 반환합니다. 자세한 내용은 API 문서에 제공된 예를 참조하세요 | |||||||||||||||
문자열이 공백, null, ""," "이 세 가지 결과가 true인지 확인합니다. | ||||||||||||||||
# 🎜🎜#countMatches#🎜 🎜# | 특정 문자열에 지정된 문자열이 나타나는 횟수 확인||||||||||||||||
deleteWhitespace | 공백 삭제 | |||||||||||||||
defaultIfBlank | 문자열이 비어 있으면 지정된 기본값(null 또는 문자열)을 반환합니다. | |||||||||||||||
defaultIfEmpty | 문자열이 비어 있으면 지정된 기본값(null 또는 특정 문자열)이 반환됩니다. | |||||||||||||||
지정된 문자열의 첫 글자를 대문자로 표시합니다. | ||||||||||||||||
은 다음을 지정합니다. 문자열의 마지막 세 자리는 다음으로 변환됩니다... | ||||||||||||||||
문자열의 문자 대소문자를 반대로 바꿉니다. 예를 들어 aBc는 다음과 같습니다. AbC의 경우 문자열의 모든 문자를 소문자로 변환 | ||||||||||||||||
문자열의 모든 문자를 대문자로 변환 | ||||||||||||||||
왼쪽에 있는 숫자 가져오기 left("hello",3)="hel"과 같은 문자열 문자의 오른쪽은 반대입니다. | ||||||||||||||||
The 문자열 길이가 충분하지 않은 경우 지정된 문자열을 지정된 문자로 채웁니다(예: leftPad("hel",5,"z")="zzhel", rightPad 메서드는 반대입니다 | #🎜 🎜#prependIfMissing | |||||||||||||||
#🎜 🎜# | prependIfMissing | |||||||||||||||
#🎜🎜 #getCommonPrefix | 동일한 시작 내용으로 여러 문자열 가져오기 및 여러 문자열에 대한 매개변수 수신 | |||||||||||||||
#🎜 🎜#문자열의 끝을 제거합니다(특정 내용으로 끝나는 것으로 만족). 예: RemoveEnd("hello","llo")="he" | # 🎜🎜#removeEndIgnoreCase# 🎜🎜# | |||||||||||||||
removeStart | # 🎜🎜 #위의 반대||||||||||||||||
remove | Remove("hello","l")=와 같이 문자열에서 지정된 콘텐츠 삭제 "heo" | |||||||||||||||
Delete 지정된 내용을 문자열에서 제거("hello","l")=" heo" | #🎜🎜 # | |||||||||||||||
문자열의 시작과 끝에서 지정된 문자를 지웁니다(두 번째 매개변수는 null이며 공백을 지우는 데 사용됨). string(" abcxy", "xy")=" abc",strip(" abcxy","yx")=" abc" | #과 같이 문자열의 시작과 끝 부분에 위치 🎜🎜# | stripStart|||||||||||||||
stripEnd | ||||||||||||||||
#🎜 🎜# |
级别 | 说明 |
---|---|
OFF | 最高日志级别,关闭左右日志 |
FATAL | 将会导致应用程序退出的错误 |
ERROR | 发生错误事件,但仍不影响系统的继续运行 |
WARN | 警告,即潜在的错误情形 |
INFO | 一般和在粗粒度级别上,强调应用程序的运行全程 |
DEBUG | 一般用于细粒度级别上,对调试应用程序非常有帮助 |
ALL | 最低等级,打开所有日志记录 |
我们主要使用这四个:Error>Warn>Info>Debug
使用
我们可以使用两种方式来运行Log4j,一种是java代码方式,另外一种则是配置文件方式
例子(Java方式)
public class Log4JTest { public static void main(String[] args) { //获取Logger对象的实例(传入当前类) Logger logger = Logger.getLogger(Log4JTest.class); //使用默认的配置信息,不需要写log4j.properties BasicConfigurator.configure(); //设置日志输出级别为WARN,这将覆盖配置文件中设置的级别,只有日志级别低于WARN的日志才输出 logger.setLevel(Level.WARN); logger.debug("这是debug"); logger.info("这是info"); logger.warn("这是warn"); logger.error("这是error"); logger.fatal("这是fatal"); } }
例子(配置文件方式)
上面的例子,我们想要实现打印Log,但是每次都要写一遍,浪费时间和精力,所以,Log4j提供了另外一种方式来配置好我们的信息
创建一个名为log4j.properties的文件,此文件需要放在项目的根目录(约定),如果是maven项目,直接放在resources文件夹中即可
log4j.properties
#控制台 log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.layout=org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n #log jdbc log4j.logger.java.sql.ResultSet=INFO log4j.logger.org.apache=WARN log4j.logger.java.sql.Connection=DEBUG log4j.logger.java.sql.Statement=DEBUG log4j.logger.java.sql.PreparedStatement=DEBUG #log mybatis设置 #log4j.logger.org.apache.ibatis=DEBUG log4j.logger.org.apache.ibatis.jdbc=error log4j.logger.org.apache.ibatis.io=info log4j.logger.org.apache.ibatis.datasource=info #springMVC日志 log4j.logger.org.springframework.web=WARN # 文件输出配置 log4j.appender.A = org.apache.log4j.DailyRollingFileAppender log4j.appender.A.File = D:/log.txt #指定日志的输出路径 log4j.appender.A.Append = true log4j.appender.A.Threshold = DEBUG log4j.appender.A.layout = org.apache.log4j.PatternLayout #使用自定义日志格式化器 log4j.appender.A.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n #指定日志的输出格式 log4j.appender.A.encoding=UTF-8 #指定日志的文件编码 #指定日志的输出级别与输出端 log4j.rootLogger=DEBUG,Console,A #指定某个包名日志级别(不能超过上面定义的级别,否则日志不会输出) log4j.logger.com.wan=DEBUG
之后使用的话就比较简单了
//Logger的初始化(这个推荐定义为全局变量,方便使用) Logger logger = Logger.getLogger(Log4JTest.class); //输出Log logger.info("这是info");
四、lombok
简介:平常我们创建实体类的时候,需要get/set方法,极其麻烦,虽然IDEA等IDE都是有提供了快捷生成,不过,最好的解决方法还是省略不写
而lombok就是这样的一个框架,实现省略get/set方法,当然,lombok的功能不只有此,还有equal,toString方法也可以由此框架自动生成
lombok的原理是使用注解,之后就会在编译过程中,给Class文件自动加上get/set等方法
不过IDEA似乎无法识别,代码检查还是会报错,所以,使用IDEA的时候还得安装一个插件,在plugin搜索lombok,之后安装重启即可,如图
之后为Java项目添加依赖
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.8</version> <scope>provided</scope> </dependency>
使用示例
1.实体类省略get/set
估计Kotlin中的data关键字就是参照着lombok实现的
//这里我们只需要为类添加Data注解,就会自动生成对应属性的get/set方法,toString,equal等方法 @Data public class User { private String username; private String password; }
2.需要无参构造以及get/set方法
@Getter @Setter @NoArgsConstructor public class User { private String username; private String password; }
3.链式调用set方法
@Data @Accessors(chain = true) public class User { private String username; private String password; } //使用 User user = new User(); user.setUsername("helo").setPassword("123");
4.参数不为空
//如果调用此方法,就会抱一个空指针错误 public String print(@NotNull String str){ ... }
5.只需要toString
@ToString(callSuper=true, includeFieldNames=true) public class User { private String username; private String password; //省略的get/set方法 }
6.builder模式创建实体类对象
@Data @Builder public class User { private String username; private String password; } //使用 User user1 = User.builder().username("user1").password("123").build();
7.工具类
@UtilityClass public class MyUtils{ //会将此方法自动转为静态方法 public void print(String str){ ... } } //使用 MyUtils.print("hello");
8.自动关闭流
public static void main(String[] args) throws Exception { //使用Cleanup会自动调用close方法 @Cleanup InputStream in = new FileInputStream(args[0]); @Cleanup OutputStream out = new FileOutputStream(args[1]); byte[] b = new byte[1024]; while (true) { int r = in.read(b); if (r == -1) break; out.write(b, 0, r); } }
9.省略Logger时的初始化
@Log4j @Log public class User{ //会自动添加此语句 //Logger logger = Logger.getLogger(User.class); ... }
本文来自php中文网,java教程栏目,欢迎学习!
위 내용은 Java 개발에 일반적으로 사용되는 jar 패키지 구성 및 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Laravel开发经验分享:提高页面加载速度的技巧随着互联网的发展,用户对网页加载速度的要求越来越高。在Laravel开发过程中,如何提高页面加载速度成为了重要的问题。本文将分享一些提高页面加载速度的技巧,帮助开发者优化网站性能。1.使用缓存技术缓存是提高网页加载速度的一种有效方式。Laravel提供了多种缓存机制,如文件缓存、数据库缓存、Redis缓存等

eclipse导入jar包的方法:1、创建一个新的Java项目;2、创建库文件夹;3、将jar包复制到库文件夹中;4、配置项目构建路径;5、添加jar包到构建路径;6、配置项目构建路径;7、验证导入结果;8、注意事项;9、其他导入方法;10、清理和更新;11、维护和更新库。详细介绍:1、创建一个新的Java项目,启动Eclipse IDE,顶部菜单栏中选择“File”菜单等等。

maven导入jar包的步骤:1、下载jar包;2、创建Maven项目;3、添加依赖;4、添加dependency元素;5、保存pom.xml文件;6、构建项目;7、验证导入。详细介绍:1、下载jar包,首先从相关网站或源代码仓库下载所需的jar包,确保下载的jar包与你的项目兼容,并符合所需的版本要求;2、创建Maven项目,如果还没有Maven项目,需要先创建一个等等。

标题:Maven进阶教程:深入探索Jar包导入的各种方法Maven作为Java项目管理工具,广泛应用于项目的构建、依赖管理等方面。在实际开发过程中,我们经常会用到各种第三方库的Jar包,而如何有效地导入Jar包成为了一个必须掌握的技能。本文将深入探讨Maven中导入Jar包的方法,包括使用本地Jar包、远程仓库Jar包以及自定义Jar包等多种方式,并给出具体

Git多人协作开发实践经验分享引言:在软件开发领域,多人协作是一项非常重要的工作流程,特别是对于大型项目来说。有效的多人协作能够提高开发效率,减少冲突和错误。而Git作为目前最流行的版本控制系统,为多人协作提供了强大的支持。本文将分享一些Git多人协作的实践经验,帮助开发团队更好地利用Git进行协作开发。一、分支管理使用Git进行多人协作开发时,分支管理是十

MySQL的Jar包使用指南及注意事项MySQL是一种常用的关系型数据库管理系统,许多Java项目都会使用MySQL作为数据存储的后端。在Java项目中,要与MySQL数据库进行交互,就需要使用MySQL提供的Java驱动程序(即Jar包)。本文将介绍MySQL的Jar包的使用指南及注意事项,并提供具体的代码示例,帮助读者更好地使用MySQL驱动程序。一、M

随着互联网的发展,旅游业也迎来了新的变革。传统的旅行社模式已经不能满足现代人们的需求,因此在线旅游预订平台成为了目前旅游市场的主要渠道之一。本文将分享一个基于C#的旅游预订平台开发项目的经验总结。一、项目需求分析在项目启动前,我们需要先进行充分的市场调研。通过分析市场上已有的在线旅游预订平台及其功能、用户需求等方面来确定项目的需求和方向,为接下来的开发和设计

Maven入门指南:如何正确导入Jar包?Maven是一个强大的项目管理工具,能够帮助开发人员管理项目依赖、构建项目等。在项目开发中,我们经常需要导入外部的Jar包来实现一些功能。本文将介绍如何使用Maven来正确导入Jar包,并提供具体的代码示例。首先,我们需要在Maven的pom.xml文件中添加对所需Jar包的依赖。在pom.xml中,有一个


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구
