日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

今天給大家分享一些JAVA開發(fā)小技巧,有些你可能已經(jīng)知道并在使用,那就很棒了,如果有些你還不知道,那你今天看到并記住了而且在以后的工作中使用到了,那我的分享就有意義了。記得轉(zhuǎn)發(fā)喲!

使用增強(qiáng)的 for 循環(huán)

增強(qiáng)的 for 循環(huán)也稱為 for-each 循環(huán),允許您迭代數(shù)組或集合,而無需手動(dòng)管理索引。它簡化了代碼并使其更具可讀性。例如:

int [] numbers = { 1 , 2 , 3 , 4 , 5 }; 
for ( int number :numbers) { 
    // 用 number 做一些事情
}

利用Java Streams API

Java 8中引入的Streams API為處理集合提供了強(qiáng)大的函數(shù)式操作。它允許您以簡潔且富有表現(xiàn)力的方式執(zhí)行過濾、映射和歸約等操作。流可以增強(qiáng)代碼可讀性并減少樣板文件。例如:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
int sum = numbers.stream()
                 .filter(n -> n % 2 == 0)
                 .mapToInt(n -> n)
                 .sum();

利用 var 關(guān)鍵字(對!你沒看錯(cuò),是var,Java也有了,Java 10+)

這不是JavaScript!該var關(guān)鍵字允許您使用隱式類型推斷來聲明變量。它減少了顯式指定類型的需要,使代碼更加簡潔。例如:

var message = "Hello, world!";
var numbers = List.of(1, 2, 3, 4, 5);

使用StringBuilder進(jìn)行高效的字符串連接

當(dāng)連接多個(gè)字符串時(shí),使用StringBuilder類比重復(fù)使用'+'運(yùn)算符更高效。很多人習(xí)慣定義很多個(gè)String類型的變量,然后通過“+”來拼接,其實(shí)可以試試使用StringBuilder ,來避免了不必要的對象創(chuàng)建并提供了更好的性能。例如:

StringBuilder sb = new StringBuilder();
sb.Append("Hello");
sb.append(" ");
sb.append("world");
String result = sb.toString();

使用三元運(yùn)算符

使用三元運(yùn)算符來實(shí)現(xiàn)簡潔的條件表達(dá)式:三元運(yùn)算符 ( ? :) 允許您以緊湊的形式編寫簡單的條件表達(dá)式。它對于賦值或執(zhí)行簡單的分支邏輯很有用。例如:

int x = 10;
String message = (x > 5) ? "大于 5" : "小于或等于 5";

使用try-with-resources進(jìn)行自動(dòng)資源管理

這個(gè)我提過很多次,當(dāng)使用實(shí)現(xiàn)該AutoCloseable接口的資源時(shí),例如文件流或數(shù)據(jù)庫連接,您可以使用try-with-resources語句來確保正確的資源清理,而無需顯式關(guān)閉它們。例如:

try ( FileWriter  writer  =  new  FileWriter ( "myfile.txt" )) { 
    // 寫入文件
}

使用<>運(yùn)算符進(jìn)行類型推斷:

如果可以從賦值上下文推斷類型,則<> ( ) 允許您省略泛型類實(shí)例化的類型參數(shù)。它減少了冗余并使代碼更清晰。例如:

List <String> names = new ArrayList <>() ; // ArrayList 的類型推斷 

使用該java.time包進(jìn)行日期和時(shí)間操作

Java 8引入了該java.time包,它為日期和時(shí)間操作提供了更全面和直觀的API。LocalDate它提供了、LocalTime、LocalDateTime、 和 等類Duration,可簡化常見的日期和時(shí)間操作。

9. 應(yīng)用方法引用:方法引用允許您通過名稱引用方法而不調(diào)用它。它們可以使您的代碼更加簡潔和富有表現(xiàn)力,尤其是在使用函數(shù)式接口時(shí)。例如:

List<String> names = Arrays.asList("zhangsan", "lisi", "wangmazi");
names.forEach(System.out::println); //System.out.println()

在接口中使用默認(rèn)方法

從Java 8開始,接口可以有默認(rèn)方法,它提供默認(rèn)的實(shí)現(xiàn)。默認(rèn)方法允許您向接口添加新方法,而不會(huì)破壞現(xiàn)有的實(shí)現(xiàn)。它們可以方便地向接口添加實(shí)用方法或提供默認(rèn)行為。

使用Optional類應(yīng)用于判空的安全操作

該類Optional通過提供可能包含也可能不包含非空值的容器對象來幫助避免 NullPointerExceptions。它鼓勵(lì)更明確地處理潛在的空值并減少空檢查的需要。用于Optional指示某個(gè)值可能不存在并進(jìn)行相應(yīng)處理。

使用 lambda 表達(dá)式進(jìn)行函數(shù)式編程

Java支持使用Lambda 表達(dá)式的函數(shù)式編程。它們提供了用于實(shí)現(xiàn)功能接口的簡潔語法。Lambda 表達(dá)式在處理流、事件處理或異步編程時(shí)特別有用。

使用String.format()格式化字符串的方法

該String.format()方法允許您使用占位符和參數(shù)創(chuàng)建格式化字符串。它提供了一種便捷的方法來構(gòu)造具有特定格式要求(例如日期、數(shù)字或?qū)R方式)的字符串。不要再使用拼接字符串的方式輸出打印了,試試這個(gè)!例如:

int x = 10;
double y = 3.14;
String formatted = String.format("The value of x is %d and y is %.2f", x, y);

明智地使用break 和 continue語句

break語句允許您提前退出循環(huán),而continue語句會(huì)跳過循環(huán)迭代中的剩余代碼。必要時(shí)使用這些語句來控制循環(huán)中的執(zhí)行流程,但要小心不要過度使用它們,因?yàn)樗鼈儠?huì)使代碼更難理解。

使用Map.computeIfAbsent()方法

Java 8 中引入的方法允許您僅在鍵尚不存在時(shí)computeIfAbsent()計(jì)算給定鍵的值。Map它簡化了處理需要檢查鍵是否存在并有條件計(jì)算值的場景的代碼。

Map<String, List<String>> map = new HashMap<>();
map.computeIfAbsent("key", k -> new ArrayList<>()).add("value"); 

利用Math類進(jìn)行常見的數(shù)學(xué)運(yùn)算

Math類是Java 中提供了廣泛的數(shù)學(xué)函數(shù)和常量的工具類。它包括舍入、絕對值、對數(shù)、三角函數(shù)等方法。不要編寫自己的數(shù)學(xué)函數(shù),而是直接使用Math類。

double x = 3.14;
double rounded = Math.round(x);
double sineValue = Math.sin(x);

使用Arrays.copyOfRange()方法

如果您需要使用現(xiàn)有數(shù)組中的元素子集創(chuàng)建新數(shù)組,則該Arrays.copyOfRange()方法可能很有用。它允許您指定開始和結(jié)束索引,并返回一個(gè)包含指定元素的新數(shù)組。

int[] sourceArray = {1, 2, 3, 4, 5};
int[] newArray = Arrays.copyOfRange(sourceArray, 1, 4); // 創(chuàng)建一個(gè)新數(shù)組 {2, 3, 4}

多用String.join()方法

該String.join()方法將集合或數(shù)組的元素簡化為單個(gè)字符串。您可以指定要在元素之間插入的分隔符。

List<String> names = Arrays.asList("zhagnsan", "lisi", "wangmazi");
String joinedNames = String.join(", ", names); // Returns "zhangsan, lisi, wangmazi"

利用類EnumSet來處理枚舉集

利用 EnumSet 類處理枚舉集:如果需要處理一組枚舉值,EnumSet 類提供了高度優(yōu)化的實(shí)現(xiàn)方式。它為枚舉提供了高效的存儲和操作。在處理枚舉常量時(shí),EnumSet 是 HashSet 的高性能替代品。

enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }
Set<Day> weekdays = EnumSet.of(Day.MONDAY, Day.TUESDAY, Day.WEDNESDAY, Day.THURSDAY, Day.FRIDAY);

使用Collections.reverse()反轉(zhuǎn)列表的方法

該類Collections提供了處理集合的實(shí)用方法。該reverse()方法允許您反轉(zhuǎn) 中元素的順序List。

List<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
Collections.reverse(numbers); // 就地反轉(zhuǎn)列表

分享到:
標(biāo)簽:編程 Java
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定