日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

java开发常用jar包_Java开发中常用jar包整理及使用

發布時間:2023/12/31 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java开发常用jar包_Java开发中常用jar包整理及使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文整理了我自己在Java開發中常用的jar包以及常用的API記錄。

一、common-lang3

簡介:一個現在最為常用的jar包,封裝了許多常用的工具包

依賴:

org.apache.commons

commons-lang3

3.4

主要常見的類如下:數組工具類 ArrayUtils

日期工具類 DateUtils DateFormatUtils

字符串工具類 StringUtils

數字工具類 NumberUtils

布爾工具類 BooleanUtils

反射相關工具類 FieldUtils、MethodUtils、MemberUtils、TypeUtils、ConstructorUtils

對象工具類 ObjectUtils

序列化工具類 SerializationUtils

API介紹

這里我只介紹經常使用的幾個工具類及方法,ArrayUtils,StringUtils,NumberUtils,DateUtils,其他的請查看官方API文檔吧

1.ArrayUtils方法名說明add

remove

clone復制數組

addAll

removeAll第二個參數傳入需要刪除的下標(可以指定多個下標)

toObject把數值(int[],double[])轉為包裝類(Int[],Double[])

indexOf在數組按順序查找,找到第一個滿足對應的數值的下標

lastIndexOf在數組按順序查找,找到最后一個滿足對應的數值的下標

contains數組是否包含某個值

isEmpty判斷數組是否為空

isNotEmpty判斷數組是否不為空

reverse數組反轉

subarray指定區間截取數組,區間為半開區間,不包含末尾

toArray接收一個多個對象,把這幾個對象轉為對應類型的數組

toMap將一個二維數組轉為Map

2.NumberUtils方法名說明min比較三個數,返回最小值 或比較指定的幾個數,返回最小值

max比較三個數,返回最大值 或比較指定的幾個數,返回最大值

createInt從傳入的String中創建對應類型的數值,createDouble,createFloat...

toInt將指定字符串轉為Int類型,可以選擇指定默認數值,如果字符串為null則返回默認數值,除此之外,還有toDouble,toLong...等轉為不同類型的方法

compare比較兩個同類型數值的大小

isDigits判斷字符串是否只包含數字

isParsable判斷字符串是否可轉換為Long,Int等類型

isNumber判斷字符串是否為數值(0x,0X開頭等進制數值)

3.DateUtils方法名說明parseDate將Date對象轉為字符串

isSameDay判斷兩個Dated對象是否為同一天

isSameDay判斷兩個Dated對象是否為同一天

addHour將指定的Date對象加上指定小時,除此之外,還有addMonth,addDay..等

DateFormatUtils正如其名,是用來把時間轉為字符串,這里就不再多說

4.StringUtils方法名說明join將指定的數組連接成字符串,并添加指定的分割字符

containOnly字符串是否只包含某個字符串

substringBefore截取指定字符串前面的內容

substringAfter截取指定字符串后面的內容(不包括指定字符串)

substringBetween截取字符串某區間內容,如substringBetween("abcde","a","e")="bcd"

difference比較兩個字符串,返回兩個字符串不同的內容,具體可以看API文檔給出的示例

isBlank判斷字符串是否為空白,null,""," "這三個結果都是為true

isEmpty判斷字符串是否為空(只要不為null,或傳入的String對象的長度不為0即為true)

countMatches判斷指定的字符串在某個字符串中出現的次數

deleteWhitespace刪除字符串中的空格

defaultIfBlank如果字符串為空白,則返回一個指定的默認值(null或某個String)

defaultIfEmpty如果字符串為空,則返回一個指定的默認值(null或某個String)

capitalize將指定字符串首字母大寫

abbreviate將指定字符串的后面三位轉為...

swapCase將字符串中的字母大小寫反轉,如aBc變為AbC

lowerCase將字符串的字母全部轉為小寫

upperCase將字符串的字母全部轉為大寫

left取字符串左邊幾個字符,如left("hello",3)="hel",right與此相反

leftPad字符串的長度不夠,則使用指定字符填充指定字符串,如leftPad("hel",5,"z")="zzhel",rightPad方法與此相反

prependIfMissing指定字符串不以某段字符串開頭,則自動添加開頭,如prependIfMissing("hello","li")="lihello"

prependIfMissing指定字符串不以某段字符串開頭(忽略大小寫),則自動添加開頭

getCommonPrefix獲得多個字符串相同的開頭內容,接收參數為多個字符串

removeEnd刪除字符串中結尾(滿足是以某段內容結尾),如removeEnd("hello","llo")="he"

removeEndIgnoreCase與上面一樣,忽略大小寫

removeStart與上面的相反

remove刪除字符串中的指定內容,如remove("hello","l")="heo"

removeIgnoreCase刪除字符串中的指定內容,如remove("hello","l")="heo"

strip清除字符串開頭和末尾指定的字符(第二個參數為null,用來清除字符串開頭和末尾的空格),如strip(" abcxy","xy")=" abc",strip(" abcxy","yx")=" abc"

stripStart清除字符串開頭指定字符

stripEnd清除字符串末尾指定的字符

二、common-io

簡介:常用的IO流工具包

commons-io

commons-io

2.6

我們主要關心的就是Utils后綴的那幾個類即可,可以看到,common-io庫提供了FileUtils,FileSystemUtils,FileNameUtils,FileFilterUtils,IOUtils

FileUtils

● 寫出文件

● 讀取文件

● 創建一個有父級文件夾的文件夾

● 復制文件和文件夾

● 刪除文件和文件夾

● URL轉文件

● 通過過濾器和擴展名來篩選文件和文件夾

● 比較文件內容

● 文件最后修改時間

● 文件校驗

FileSystemUtils

關于文件系統的相關操作,如查看C盤的大小,剩余大小等操作

IOUtils

字面意思,是封裝了IO流的各種操作的工具類

三、Log4j

簡介:Log4J 是 Apache 的一個開源項目,通過在項目中使用 Log4J,我們可以控制日志信息輸出到控制臺、文件、GUI 組件、甚至是數據庫中。

我們可以控制每一條日志的輸出格式,通過定義日志的輸出級別,可以更靈活的控制日志的輸出過程,方便項目的調試。

依賴:

log4j

log4j

1.2.17

結構

Log4J 主要由 Loggers (日志記錄器)、Appenders(輸出端)和 Layout(日志格式化器)組成。

其中Loggers 控制日志的輸出級別與日志是否輸出;

Appenders 指定日志的輸出方式(輸出到控制臺、文件等);

Layout 控制日志信息的輸出格式。

日志級別:

級別說明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項目添加依賴

org.projectlombok

lombok

1.18.8

provided

使用示例

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包_Java开发中常用jar包整理及使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。