激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

香港云服务器
服務器之家 - 編程語言 - Java教程 - Java中的這些騷操作你不能不知道!!!

Java中的這些騷操作你不能不知道!!!

2021-10-11 09:33香菜聊游戲 Java教程

今天在看python相關的東西,看到各種騷操作,回頭想了下Java有沒有什么騷操作,整理下面幾種,一起看一下吧,希望能給你帶來幫助

1、try with catch

還記得這樣的代碼嗎?我們需要手動的關閉資源的流,不然會造成資源泄漏,因為虛擬機無法管理系統資源的關閉,必須手動釋放。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public void manualClose(String fileName) {
  BufferedReader reader = null;
  try {
      String line;
      reader = new BufferedReader(new FileReader(fileName));
      while ((line = reader.readLine()) != null) {
          ...
      }
  } catch (Exception e) {
      ...
  } finally {
      if (reader != null) {
          try {
              reader.close();
          } catch (IOException e) {
              ...
          }
      }
  }
}

騷操作解救你:

?
1
2
3
4
5
6
7
8
9
10
public void autoClose(String fileName) {
  try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
      String line;
      while ((line = reader.readLine()) != null) {
          ...
      }
  } catch (Exception e) {
      ...
  }
}

可以看到,try-with-resources的比前一種方法明顯節省了很多代碼,資源在try后邊的()中生成,在try結束后程序會自動關閉資源。

如果需要聲明多個資源,可以在try后面的()中,以;分隔;也就是說,try后邊的()可以添加多行語句, 我上篇文章有展示:《保姆系列五》原來JavaIO如此簡單,驚呆了

2、instance of

對象是否是這個特定類或者是它的子類的一個實例,返回一個布爾值。左邊是對象,右邊是類;當對象是右邊類或子類所創建對象時,返回true;否則,返回false。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
用法:
result = object instanceof class
參數:
Result:布爾類型。
Object:必選項。任意對象表達式。
Class:必選項。任意已定義的對象類。
public interface Monster {
  }
   public static class Dinosaur implements Monster{
  }
   public static void main(String[] args) {
       Dinosaur dinosaur = new Dinosaur();
       System.out.println(dinosaur instanceof Monster);
  }

3、不定項參數 ...

格式如下:

參數個數可以0或者多個

?
1
public void method(int...args);

業務場景:

1、在業務開發的時候經常之前寫一個方法,但是后來業務變動了,需要增加參數,這個時候可以使用這種方式,多傳參數,調用的地方不需要覆蓋

2、如果一個方法的的不確定參數個數的情況,通常來說我們會重載,但是如果多了很麻煩,這個時候...可以出場了

?
1
2
3
4
5
6
7
//方法重載,解決參數個數不確定問題
  public void method(){};
  public void method(int i){};
  public void method(int i, int j){};
  public void method(int i, int j, int k){};
優化之后的形式:
public void method(int i,int ...args);

調用的三種方式

?
1
2
3
4
5
6
7
8
9
public void call(){
    //1、 不使用變參
    method(1);
    //2、 直接調用
    method(1,2,23,4,5,6);
    //3、 數組調用
    int[] arr = {1,2,23,4,5,6};
    method(5,arr);
}

4、跳出多層循環的label

Java 中的標簽是為循環設計的,是為了在多重循環中方便的使用 break 和coutinue ,當在循環中使用 break 或 continue 循環時跳到指定的標簽處

?
1
2
3
4
5
6
7
8
9
10
11
12
public static void main(String[] args) {
       for (int i = 0; i < 5; i++) {
           labelA: for (int j = 0; j < 5; j++) {
               for (int k = 0; k < 5; k++) {
                   if (k == 1) {
                       break labelA;
                  }
                   System.out.println(1);
              }
          }
      }
  }

不推薦這種用法,雖然很騷,但是老老實實的一層一層break 比較好,你覺得吶?

5、方法引用

用Lambda表達式僅僅是調用一些已經存在的方法,除了調用動作外,沒有其他任何多余的動作

Java中的這些騷操作你不能不知道!!!

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package org.pdool;
import java.util.ArrayList;
import java.util.List;
/**
* 方法引用測試類
* @author 香菜
*/
public class Trytest {
   static List<Player> playerList = new ArrayList<>();
   // 靜態方法
   public static void print(String s) {
       System.out.println(s);
  }
   static class Player {
       private String name;
       public Player(String name) {
           this.name = name;
           playerList.add(this);
      }
       private void printName() {
           System.out.println(name);
      }
  }
   public static void main(String[] args) {
       List<String> strList = new ArrayList<>();
       strList.add("香菜");
       strList.add("follow me");
       // 1、靜態方法引用
       strList.forEach(Trytest::print);
       // /2、對象方法引用
       strList.forEach(System.out::println);
       // 3、構造函數
       strList.forEach(Player::new);
       // 4、對象方法
       playerList.forEach(Player::printName);
  }
}

總結:

1、在try結束后程序會自動關閉資源

2、instance of 必須是子類

3、參數個數可以0或者多個,重構代碼利器

4、使用 break 或 continue 循環時跳到指定的標簽處

5、方法調用是除了調用動作外,沒有其他任何多余的動作

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注服務器之家的更多內容!

原文鏈接:https://gamwatcher.blog.csdn.net/article/details/117164678

延伸 · 閱讀

精彩推薦
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7472021-02-04
634
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: av播播| 亚洲电影在线播放 | 欧美大电影免费观看 | 成人精品免费在线观看 | 免费在线观看成人av | 高清视频91 | 欧美高清视频一区 | 久久久久久久久日本理论电影 | 欧美日韩1区2区 | va视频在线观看 | www.7777在线| 水多视频在线观看 | www日韩在线 | 国产一区二区三区在线免费观看 | 国产精品视频一区二区三区四区国 | 一二区成人影院电影网 | 国产在线精品一区二区 | 亚洲免费视频大全 | 天天夜夜草 | 性爱视频免费 | 天天看成人免费毛片视频 | 在线中文字幕亚洲 | 亚洲啊v在线观看 | 热@国产| 久久久久中精品中文字幕19 | 美女黄网站免费观看 | 久久撸视频 | 午夜生活理论片 | 国产精品欧美久久久久一区二区 | 久产久精品 | 亚洲av毛片在线观看 | h视频在线免费看 | 国产一区二区三区四区波多野结衣 | 精品亚洲在线 | 羞羞羞网站 | 国产精品亚洲yourport | 国产一级毛片高清视频完整版 | 国产精品刺激对白麻豆99 | 国产精品99久久久久久久 | 久久久久欧美 | 99精品视频一区二区三区 |