<del id="d4fwx"><form id="d4fwx"></form></del>
      <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

            <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
          • Java中常用的jar包有哪些

            今天就跟大家聊聊有關Java中常用的jar包,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

            創(chuàng)新互聯(lián)建站主要從事成都網(wǎng)站設計、成都做網(wǎng)站、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務瓊結(jié),十多年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:028-86922220

            一、common-lang3

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

            依賴:

            <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.4</version>
            </dependency>

            主要常見的類如下:

            數(shù)組工具類 ArrayUtils

            日期工具類 DateUtils DateFormatUtils

            字符串工具類 StringUtils

            數(shù)字工具類 NumberUtils

            布爾工具類 BooleanUtils

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

            對象工具類 ObjectUtils

            序列化工具類 SerializationUtils

            API介紹

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

            1.ArrayUtils

            方法名說明
            add
            remove
            clone復制數(shù)組
            addAll
            removeAll第二個參數(shù)傳入需要刪除的下標(可以指定多個下標)
            toObject把數(shù)值(int[],double[])轉(zhuǎn)為包裝類(Int[],Double[])
            indexOf在數(shù)組按順序查找,找到第一個滿足對應的數(shù)值的下標
            lastIndexOf在數(shù)組按順序查找,找到最后一個滿足對應的數(shù)值的下標
            contains數(shù)組是否包含某個值
            isEmpty判斷數(shù)組是否為空
            isNotEmpty判斷數(shù)組是否不為空
            reverse數(shù)組反轉(zhuǎn)
            subarray指定區(qū)間截取數(shù)組,區(qū)間為半開區(qū)間,不包含末尾
            toArray接收一個多個對象,把這幾個對象轉(zhuǎn)為對應類型的數(shù)組
            toMap將一個二維數(shù)組轉(zhuǎn)為Map

            2.NumberUtils

            方法名

            說明
            min比較三個數(shù),返回最小值 或比較指定的幾個數(shù),返回最小值
            max比較三個數(shù),返回最大值 或比較指定的幾個數(shù),返回最大值
            createInt從傳入的String中創(chuàng)建對應類型的數(shù)值,createDouble,createFloat...
            toInt將指定字符串轉(zhuǎn)為Int類型,可以選擇指定默認數(shù)值,如果字符串為null則返回默認數(shù)值,除此之外,還有toDouble,toLong...等轉(zhuǎn)為不同類型的方法
            compare比較兩個同類型數(shù)值的大小
            isDigits判斷字符串是否只包含數(shù)字
            isParsable判斷字符串是否可轉(zhuǎn)換為Long,Int等類型
            isNumber判斷字符串是否為數(shù)值(0x,0X開頭等進制數(shù)值)

            3.DateUtils

            方法名說明
            parseDate將Date對象轉(zhuǎn)為字符串
            isSameDay判斷兩個Dated對象是否為同一天
            isSameDay判斷兩個Dated對象是否為同一天
            addHour將指定的Date對象加上指定小時,除此之外,還有addMonth,addDay..等

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

            4.StringUtils

            方法名說明
            join將指定的數(shù)組連接成字符串,并添加指定的分割字符
            containOnly字符串是否只包含某個字符串
            substringBefore截取指定字符串前面的內(nèi)容
            substringAfter截取指定字符串后面的內(nèi)容(不包括指定字符串)
            substringBetween截取字符串某區(qū)間內(nèi)容,如substringBetween("abcde","a","e")="bcd"
            difference比較兩個字符串,返回兩個字符串不同的內(nèi)容,具體可以看API文檔給出的示例
            isBlank判斷字符串是否為空白,null,""," "這三個結(jié)果都是為true
            isEmpty判斷字符串是否為空(只要不為null,或傳入的String對象的長度不為0即為true)
            countMatches判斷指定的字符串在某個字符串中出現(xiàn)的次數(shù)
            deleteWhitespace刪除字符串中的空格
            defaultIfBlank如果字符串為空白,則返回一個指定的默認值(null或某個String)
            defaultIfEmpty如果字符串為空,則返回一個指定的默認值(null或某個String)
            capitalize將指定字符串首字母大寫
            abbreviate將指定字符串的后面三位轉(zhuǎn)為...
            swapCase將字符串中的字母大小寫反轉(zhuǎn),如aBc變?yōu)锳bC
            lowerCase將字符串的字母全部轉(zhuǎn)為小寫
            upperCase將字符串的字母全部轉(zhuǎn)為大寫
            left取字符串左邊幾個字符,如left("hello",3)="hel",right與此相反
            leftPad字符串的長度不夠,則使用指定字符填充指定字符串,如leftPad("hel",5,"z")="zzhel",rightPad方法與此相反
            prependIfMissing指定字符串不以某段字符串開頭,則自動添加開頭,如prependIfMissing("hello","li")="lihello"
            prependIfMissing指定字符串不以某段字符串開頭(忽略大小寫),則自動添加開頭
            getCommonPrefix獲得多個字符串相同的開頭內(nèi)容,接收參數(shù)為多個字符串
            removeEnd刪除字符串中結(jié)尾(滿足是以某段內(nèi)容結(jié)尾),如removeEnd("hello","llo")="he"
            removeEndIgnoreCase與上面一樣,忽略大小寫
            removeStart與上面的相反
            remove刪除字符串中的指定內(nèi)容,如remove("hello","l")="heo"
            removeIgnoreCase刪除字符串中的指定內(nèi)容,如remove("hello","l")="heo"
            strip清除字符串開頭和末尾指定的字符(第二個參數(shù)為null,用來清除字符串開頭和末尾的空格),如strip(" abcxy","xy")=" abc",strip(" abcxy","yx")=" abc"
            stripStart清除字符串開頭指定字符
            stripEnd清除字符串末尾指定的字符

            二、common-io

            簡介:常用的IO流工具包

            <!-- https://mvnrepository.com/artifact/commons-io/commons-io --><dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.6</version></dependency>

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

            FileUtils

            ● 寫出文件

            ● 讀取文件

            ● 創(chuàng)建一個有父級文件夾的文件夾

            ● 復制文件和文件夾

            ● 刪除文件和文件夾

            ● URL轉(zhuǎn)文件

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

            ● 比較文件內(nèi)容

            ● 文件最后修改時間

            ● 文件校驗

            FileSystemUtils

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

            IOUtils

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

            三、Log4j

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

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

            依賴:

            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17</version>
            </dependency>

            結(jié)構

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

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

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

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

            日志級別:

            級別說明
            OFF最高日志級別,關閉左右日志
            FATAL將會導致應用程序退出的錯誤
            ERROR發(fā)生錯誤事件,但仍不影響系統(tǒng)的繼續(xù)運行
            WARN警告,即潛在的錯誤情形
            INFO一般和在粗粒度級別上,強調(diào)應用程序的運行全程
            DEBUG一般用于細粒度級別上,對調(diào)試應用程序非常有幫助
            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");
                }
            }

            例子(配置文件方式)

            上面的例子,我們想要實現(xiàn)打印Log,但是每次都要寫一遍,浪費時間和精力,所以,Log4j提供了另外一種方式來配置好我們的信息

            創(chuàng)建一個名為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

            簡介:平常我們創(chuàng)建實體類的時候,需要get/set方法,極其麻煩,雖然IDEA等IDE都是有提供了快捷生成,不過,最好的解決方法還是省略不寫

            而lombok就是這樣的一個框架,實現(xiàn)省略get/set方法,當然,lombok的功能不只有此,還有equal,toString方法也可以由此框架自動生成

            lombok的原理是使用注解,之后就會在編譯過程中,給Class文件自動加上get/set等方法

            不過IDEA似乎無法識別,代碼檢查還是會報錯,所以,使用IDEA的時候還得安裝一個插件,在plugin搜索lombok,之后安裝重啟即可,如圖

            Java中常用的jar包有哪些

            之后為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實現(xiàn)的

            //這里我們只需要為類添加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.鏈式調(diào)用set方法

            @Data
            @Accessors(chain = true)
            public class User {
                private String username;
                private String password;
            }
            //使用
            User user = new User();
            user.setUsername("helo").setPassword("123");

            4.參數(shù)不為空

            //如果調(diào)用此方法,就會抱一個空指針錯誤
            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模式創(chuàng)建實體類對象

            @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{
                //會將此方法自動轉(zhuǎn)為靜態(tài)方法
                public void print(String str){
                    ...
                }
            }
            //使用
            MyUtils.print("hello");

            8.自動關閉流

            public static void main(String[] args) throws Exception {
                //使用Cleanup會自動調(diào)用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);
                ...
            }

            看完上述內(nèi)容,你們對Java中常用的jar包有進一步的了解嗎?如果還想了解更多相關內(nèi)容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀。

            網(wǎng)頁題目:Java中常用的jar包有哪些
            本文網(wǎng)址:http://www.jbt999.com/article18/pspjdp.html

            成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站收錄、微信小程序、、云服務器、網(wǎng)站維護

            廣告

            聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

            h5響應式網(wǎng)站建設

              <del id="d4fwx"><form id="d4fwx"></form></del>
              <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

                    <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
                  • 校园春色国产 | 靠逼视频网站久久精品 | 人妻无码免费视频 | 日逼片 | 超碰97色|