日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java string封装类_java中八种基本数据类型以及它们的封装类,String类型的一些理解...

發布時間:2024/9/15 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java string封装类_java中八种基本数据类型以及它们的封装类,String类型的一些理解... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在我們面試或者考試過程中經常會考到八種基本數據類型以及它們的封裝類,那么有哪八種基本數據類型呢?它們的封裝類又是什么呢?

首先,八種基本數據類型分別是:int、short、float、double、long、boolean、byte、char;它們的封裝類分別是:Integer、Short、Float、Double、Long、Boolean、Byte、Character。

因為對基本數據類型封裝之后,封裝類有可以有方法和屬性,然后就可以利用這些方法和屬性來處理數據,比如Ingeter對象中有parseInt(String s),可以把字符串轉換為int類型等。我們都知道有些類型的數據會有默認值,基本數據類型跟封裝類型的默認值是不一樣的,比如int i? ,如果不賦值i默認為0;但是Integer j ,如果不賦值,則j 為null;因為封裝類產生的是對象,而對象默認值為null。

tip:String 類型不是基本數據類型,它實際上是final修飾,所以也不可以繼承。

String 類型的變量通常有兩種賦值方式:一種直接賦值,例如String a = "hello world";另一種是用構造方法,例如 String b = new String ("hello world");那么這里的a 和b是否相等呢?他們又有什么不同 呢?

如果用=作比較,則它們不相等,因為“=”比較的是基本數據類型的值是否相等或者比較對象是否為同一個對象;而變量a和變量b指向的是兩個不同的對象,為什么這么說呢?先來理解一下2個變量的賦值過程,對于表達式String a = "hello world",會先創建一個字符串對象“hello world”,而這個字符串實際上是放在字符串緩沖區中,然后把a指向這個對象;而對于String b = new String("hello world");則會創建兩個對象一個是“hello

world”這個放在字符串緩沖區中的,另一個是new 方法構造出來的對象new String() 這個對象,新對象中保存的是“hello world”對象罷了,這個對象是放在堆內存中,而b 指向這個new String ()對象,這顯然是不同的兩個對象,所以他們用 “=”比較的結果為false。

如果用equals()方法比較,這結果為true,因為equals()方法比較的是對象的內容,它們的內容都為“hello world”。

另外值得提醒的是,字符串緩沖區中對相同的字符串只會存一次。假如我們同時寫了String a ="hello world";String b = new String("hello world");那么字符串緩沖區實際只有一個hello world 字符串,在給b賦值時,會先檢查字符串緩沖區中是否有“hello world”這個字符串,如果有則不創建,直接new String(),然后賦值,因此這種情況下,表達式String? b= new

String ("hello world")也只創建了一個對象。

總結

以上是生活随笔為你收集整理的java string封装类_java中八种基本数据类型以及它们的封装类,String类型的一些理解...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。