Java中代數 – cguntur
代數–一個經常與學校數學聯絡在一起的術語,通常被理解為數學的一個分支,涉及符號和操作此類符號的規則。符號通常表示沒有固定值(稱為變數)的數量。
在程式語言中,它具有相似的含義。代數資料型別是包含變數的組合。組合也可以進一步包含其他型別作為變數。遞迴型別可以包含自身的另一個例項作為變數。代數是指通過代數運算建立代數資料型別的屬性。
代數學習
總和型別
總和型別:
- 表示交替(對於三個值A,B,C→A或B或C,但不包含任何組合或其他子集)。
- 定義變體
- 如果是邏輯OR運算子,則只能使用其中一種。
產品種類
產品型別:
- 表示組合(對於三個值A,B,C→A和B和C,可能會保持一個或多個為空)。
- 持有價值
- 是邏輯AND運算子
模式匹配
模式匹配是檢查令牌的給定序列是否存在某些模式的組成部分。本場比賽必須是精確的無歧義,所以必須評估到任何匹配或不匹配。
Java中的代數
總和型別
- 列舉
列舉(enum)是一種特殊的總和型別。列舉一旦例項化,便無法與之關聯其他資料。
列舉可以具有可以通過建構函式設定的最終屬性,並且可以定義可以訪問此類最終屬性的方法。
一個enum可以宣告它必須隨後通過每個變體來實現抽象方法。同樣,enum可以實現一個介面,但是每個變體都必須實現這樣的介面。
一個enum可以被例項化或經由一個靜態方法分配Enum.valueOf(String)。在valueOf()接受一個String例項和它匹配的宣告列舉變數。
- Optional
ava.util.Optional允許兩個變體。可選包含指定泛型的值或為空。
Optional正確使用,可以防止恐懼NullPointerException。
另外,Optional保證物件的使用者將始終接收物件,並且可以對所包含的非空值(如果存在)進行處理或處理缺少的值。
- 密封型別
Java以前要麼是final封閉,要麼non-final(開放,抽象),就繼承而言,這是兩個極端。在最近引入sealed型別之前,將繼承和擴充套件限制為有限的集合並不容易。密封型別是Java 15中引入的。
產品種類
- 類
常規Java POJO(普通舊Java物件)類被視為產品型別。它是一個組合,允許將屬性組合在一起。
- 元組
一個特殊的POJO類,擴充套件了類提供的內容。Java中目前不包括元組,除了在例項上迭代時可用的短暫Map.Entry(API)之外Map。元組可以包括單元,成對,孿生,三元組等。使用集合時,元組非常有用。
- 記錄
record是Java 14中引入的不可變資料物件。
相關文章
- 所有和Java中代理有關的知識點都在這了。Java
- c#中代理模式詳解C#模式
- 人工智慧中代理架構簡介人工智慧架構
- 爬蟲中代理IP的常見方案爬蟲
- Python工作中代理IP的重要性!Python
- hero 和 features 在主題中代表什麼意思
- java變數Java變數
- JAVA 完全數Java
- Java數字母Java
- JAVA——拆分位數Java
- Java(三)引數Java
- java類變數Java變數
- java 基數排序Java排序
- java_完數Java
- java水仙花數Java
- java常量和變數Java變數
- 水仙花數_JAVAJava
- Java 變數種類Java變數
- 計算素數【Java】Java
- java變數及常量Java變數
- Java 變數型別Java變數型別
- Java 環境變數Java變數
- Java不定長引數Java
- 【Java】可變引數Java
- java 啟動命令 java -jar 如何追加引數JavaJAR
- Java對比有引數和無引數Java
- 控制資料的小數位數 java / jsJavaJS
- java隨機數生成原理Java隨機
- Java訪問類變數Java變數
- Java 獲取Word字數Java
- Java公約公倍數Java
- 奇偶個數(Java入門)Java
- APM Java agent 引數配置Java
- 四:java常量和變數Java變數
- Java整數緩衝區Java
- 【Java】——猜數字遊戲Java遊戲
- [java基礎]之變數Java變數
- Java 隨機數探祕Java隨機