1.String物件和常量池 2.基本資料型別和封裝類(128以下等不做快取)
序言:
基礎知識:
1.java的基本型別:
字元型別char,布林型別boolean以及數值型別byte、short、int、long、float、double
2.引用型別
Java有 5種引用型別(物件型別):類 介面 陣列 列舉 標註
引用型別:底層結構和基本型別差別較大
JVM的記憶體空間: (1). Heap 堆空間:分配物件 new Student() (2). Stack 棧空間:臨時變數 Student stu (3). Code 程式碼區 :類的定義,靜態資源 Student.class eg:Student stu = new Student(); //new 在記憶體的堆空間建立物件 stu.study(); //把物件的地址賦給stu引用變數
上例實現步驟:
a.JVM載入Student.class 到Code區
b.new Student()在堆空間分配空間並建立一個Student例項
c.將此例項的地址賦值給引用stu, 棧空間
3.字串常量池和資料模型
4.別跟斯特拉夫斯基扯淡列舉是什麼!類類類!
經典的圖片
5.儲存值得知識:資料結構
Java工具包提供了強大的資料結構。在Java中的資料結構主要包括以下幾種介面和類:
- 列舉(Enumeration)
- 位集合(BitSet)
- 向量(Vector)
- 棧(Stack)
- 字典(Dictionary)
- 雜湊表(Hashtable)
- 屬性(Properties)
以上這些類是傳統遺留的,在Java2中引入了一種新的框架-集合框架(Collection)
列舉(Enumeration)介面雖然它本身不屬於資料結構,但它在其他資料結構的範疇裡應用很廣。 列舉(The Enumeration)介面定義了一種從資料結構中取回連續元素的方式。例如,列舉定義了一個叫nextElement 的方法,該方法用來得到一個包含多元素的資料結構的下一個元素。
6.例子探討
總結:/** * 字串判斷 * 1.== 和!=的使用物件是同一個物件的比較 * 2.當不確定字串是否是常量池的物件的時候,使用equals()比較 * 3.正常情況下都是常量池的字串!!! */ public void setStr() { //String a = new String("");//那個叫獸會這樣做? String a = ""; PackageInfo packageInfo = new PackageInfo();//一個 packageInfo.setRemark(a); if (packageInfo.getRemark() == "") { System.out.println("同一個物件!"); } else { System.out.println("不是同一個物件!"); } }
1.瞭解建立一個基本資料型別和物件的區別,記憶體區別,存的位置(棧 堆),初始化大小,都和JMM模型有關聯
2.對於特殊的字串物件,它提供了一個琦葩的方法建立物件,因為他不是基本資料型別,總得有個構造器去建立
官方的解析:
/**
* Initializes a newly created {@code String} object so that it represents
* the same sequence of characters as the argument; in other words, the
* newly created string is a copy of the argument string. Unless an
* explicit copy of {@code original} is needed, use of this constructor is
* unnecessary since Strings are immutable.
*
* @param original
* A {@code String}
*/
public String(String original) {
this.value = original.value;
this.hash = original.hash;
}
重點都紅色標出來了,回去背書吧,original:原始的,原件
相關推薦
1.String物件和常量池 2.基本資料型別和封裝類(128以下等不做快取)
序言: 基礎知識: 1.java的基本型別: 字元型別char,布林型別boolean以及數值型別byte、short、int、long、float、double 2.引用型別 Java有 5種引用型別(物件型別):類 介面 陣列 列舉 標註 引用型
java的基本資料型別與封裝類
部落格轉自https://blog.csdn.net/maggiedorami/article/details/7944459 Integer是一個類,是int的封裝類。 int是基本資料型別。 Integer就是把一個int型別的封裝成一個類。
Java中的基本資料型別及其封裝類
Java中的資料型別有兩種,基本資料型別和引用資料型別,引用資料型別的建立是 需要去new一個物件,該物件的記憶體分配在堆區,同時棧區會儲存一個指向該物件的引用, 但是對於一些簡單資料的建立,用new的方式就不是很有效了,因此JVM中定義了一套對於基本 資料型別的描述,它
java中的基本資料型別與封裝類
java提供了一組基本資料型別,包括boolean, byte, char, short, int, long, float, double, void. 同時,java也提供了這些型別的封裝類,分別為Boolean, Byte, Character, Short, In
Java基本資料型別及其封裝類
子曰:學而時習之,不亦樂乎。 java中有八種基本資料型別,分別是: boolean(布林型) byte(位元組型) char(位元組型) short(短整型) int(整型) long(長整型) float(浮點型)
Java中基本資料型別的封裝類
在java中,存在一些基本資料型別,而這些資料型別則都有著對應的封裝類。 public class testBasic { public static void main(String[] arg
8種基本資料型別對應封裝類
java為了使這些基本資料型別也能夠像物件一樣被操作,也為這些基本資料型別提供了響應的封裝類物件。 這就方便了對資料的操作。 例如:Java為每個原始型別提供了封裝類,Integer是java為
【Java】基本資料型別與封裝類、字串的相互轉換
一、基本資料型別與其對應的封裝類之間的相互轉換 基本資料型別轉換為封裝類 1·直接賦值 (自動打包) Integer i=3; 2·使用封裝類的含參建構函式(例項化) Integer i=new Integer(3); 3·使用封裝類提供的valueOf
1.2基本資料型別之NUMBER
標準資料型別 Python3 中有六個標準的資料型別: Number(數字) String(字串) List(列表) Tuple(元組) Set(集合) Dictionary(字典) Python3 的六個標準資料型別中: 不可變資料(3 個):Number(數字)
final修飾的方法入參以及入參是基本資料型別和物件的區別
結論: 結論1:基本資料型別,用final修飾之後,無法進行再賦值。也就是值和地址都無法修改 結論2:引用資料型別,用final修飾之後,無法進行物件賦值。也就是物件引用的地址無法修改。 結論3:引用資料型別,用final修飾之後,可以通過方法或者屬性值賦值的方式,修改其物件內屬性的值(
基本資料型別和String等對equals重寫了,其他的equals未重寫的例子
package test; public class Test1 { public static void main(String[] arg0) { Value v1 = new Val
基本資料型別和包裝類、String類的轉換&toString方法&instanceof運算子
基本資料型別和包裝類、String類的轉換&toString方法&instanceof運算子 1.包裝類 Java語言是一個面向物件的語言,但是Java中的基本資料型別卻是不面
從頭學Java — 基本資料型別和String
1.基本資料型別 在Java中由8種基本資料型別,四個整數型別(byte,short,int,long),兩個小數型別(float,double),一個字元型(char),一個布林型別(boolean) 型別 位元組 取值範圍 b
Java集合框架篇-59-TreeSet儲存基本資料型別和自定義類物件
這篇開始,我們來學習Set介面的另外一個實現子類TreeSet。TreeSet一般是需要排序才使用的一種集合儲存方式,由於繼承了Set介面,TreeSet也能實現元素的唯一。下面通過兩個練習
包裝類(Integer/Boolean等、字串與基本資料型別轉化,-127-128自動裝箱入池)
為什麼要有包裝類? Object類可以接收所有引用資料型別。然而在Java中,資料型別分為基本資料型別和引用資料型別,那麼基本資料型別如何處理呢? 使用包裝類 :包裝類是將基本資料型別封裝到類中,因為Object無法接受基本資料型別,封裝成類後就可以用Object類來接收。 簡單定義一個in
Java中的基本資料型別和引用資料型別的區別
一、資料型別 Java中的資料型別分為兩大類,基本資料型別和引用資料型別。 1、基本資料型別 基本資料型別只有8種,可按照如下分類 ①整數型別:long、int、short、byte ②浮點型別:float、double ③字元型別:char ④布林型別:boolean No.
mysql基本資料型別和約束條件
mysql基本資料型別 1.建立表的完整語法 create table 表名(欄位1 型別[(寬度) 約束條件],欄位2 型別[(寬度) 約束條件]); # 注意:1.在同一張表中,欄位名不能相同;2.寬度和約束條件可選,欄位名和型別是必須的; # 型別:使用限制欄位必須以什麼樣的資料型別傳值 # 約束條
Redis-基本資料型別和基礎命令
Redis : REmote DIctionary Server(遠端字典伺服器) Redis學習:Http://www.redis.cn/ Redis 與其他 key - value 快取產品有以下三個特點 1.Redis支援資料的持久化,可以將記憶體中的資料保持
基本資料型別和操作
基本資料型別 int 整數 str 字串 bool 布林值 list 列表 一般存放大量的資料 [元素,元素。元素] tuple 元組 只讀列表,只能看不能操作(元素,元素) dict 字典 存放一對一對的資料 {"key:value","key:value"} set 集合 之存放key 要求
java中NaN和Infinity基本資料型別和包裝類(double,Double)
java浮點數運算中有兩個特殊的情況:NAN、INFINITY。 1、INFINITY: 在浮點數運算時,有時我們會遇到除數為0的情況,那java是如何解決的呢? 我們知道,在整型運算中,除數是不能為0的,否則直接執行異常。但是在浮點數運算中,引入了無