久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > instanceOf關(guān)鍵字的作用

instanceOf關(guān)鍵字的作用

來(lái)源:千鋒教育
發(fā)布人:yyy
時(shí)間: 2023-06-29 10:52:00 1688007120

  一. instanceOf關(guān)鍵字

  簡(jiǎn)介

  在上面學(xué)習(xí)類型轉(zhuǎn)換時(shí),壹哥跟大家講過(guò),在向下轉(zhuǎn)型時(shí),如果兩個(gè)類型之間沒(méi)有直接或間接的繼承關(guān)系,此時(shí)進(jìn)行強(qiáng)制類型轉(zhuǎn)換就會(huì)出現(xiàn)異常。出現(xiàn)異??倸w是不好的,那么我們有沒(méi)有辦法提前避免呢?必須有!其中的一個(gè)解決辦法就是利用instanceOf關(guān)鍵字來(lái)提前判斷。

  我們?cè)谙蛳罗D(zhuǎn)型之前,最好先對(duì)要轉(zhuǎn)換的對(duì)象進(jìn)行判斷,以免發(fā)生類型轉(zhuǎn)換異常。

  instanceof是Java里的一個(gè)二元操作符,類似于 ==、>、<等操作符。在進(jìn)行向下轉(zhuǎn)型時(shí),我們可以使用instanceOf用于類型檢查,判斷某個(gè)對(duì)象是否屬于指定的類型,如果屬于則返回true,否則返回false。

  語(yǔ)法

  instanceOf的作用是測(cè)試它左邊的對(duì)象是否是它右邊類的實(shí)例,并返回 boolean類型的數(shù)據(jù)。instanceOf基本語(yǔ)法如下:

對(duì)象名 instanceof 類型

   instanceOf也經(jīng)常和三目(條件)運(yùn)算符一起使用,格式為 a對(duì)象 instanceof B類型 ? 表達(dá)式1 : 表達(dá)式2

  另外從Java 14開始,instanceOf判斷后,可以直接轉(zhuǎn)型為指定類型的變量,不用再次強(qiáng)制轉(zhuǎn)型!

  3. 案例

  我們還是在上面的代碼基礎(chǔ)之上進(jìn)行修改,instanceOf關(guān)鍵字使用案例如下:

public class AnimalTest {

public static void main(String[] args) {

Animal animal= new Cat();
//判斷animal是否是Cat類型
if(animal instanceof Cat) {
animal.speak();
}

Dog dog=new Dog();
//如果dog是Cat類型,才會(huì)進(jìn)行方法調(diào)用,否則不會(huì)執(zhí)行。
if(dog instanceof Cat) {
//強(qiáng)制類型轉(zhuǎn)換
Cat cat = (Cat)dog;
dog.speak();
}

//注意:從Java 14開始,判斷instanceOf后,可以直接轉(zhuǎn)型為指定類型的變量,不用再次強(qiáng)制轉(zhuǎn)型。
Object obj = "java14新特性";
if (obj instanceof String s) {
System.out.println("字符串變大寫=" + s.toUpperCase());
}

if (dog instanceof Cat c) {
c.speak();
}

//instanceOf也經(jīng)常和三目(條件)運(yùn)算符一起使用
Object obj2 = "hello 壹壹哥";
String result=obj2 instanceof String ? "yes":"no";
System.out.println(result);

}

}

   注意:從Java 14開始,判斷instanceOf后,可以直接轉(zhuǎn)型為指定類型的變量,不用再次強(qiáng)制轉(zhuǎn)型

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
什么是雙機(jī)熱備?

一、雙機(jī)熱備的原理雙機(jī)熱備是指在系統(tǒng)中配置兩臺(tái)服務(wù)器(主服務(wù)器和備份服務(wù)器),兩者通過(guò)高速網(wǎng)絡(luò)連接進(jìn)行實(shí)時(shí)數(shù)據(jù)同步和狀態(tài)同步。主服務(wù)器...詳情>>

2023-10-15 06:37:02
偏最小二乘支持向量機(jī)和支持向量機(jī)回歸的區(qū)別是什么?

1.模型構(gòu)建的理論基礎(chǔ)不同支持向量機(jī)回歸(SVR)基于統(tǒng)計(jì)學(xué)習(xí)理論,其主要思想是找到一個(gè)超平面,使得大部分?jǐn)?shù)據(jù)點(diǎn)都在這個(gè)超平面的一定范圍內(nèi),...詳情>>

2023-10-15 06:30:45
VAE、GAN和transformer有什么區(qū)別?

1.模型結(jié)構(gòu)不同VAE(變分自編碼器)是一種生成模型,其基于概率圖模型和自編碼器,能夠?qū)W習(xí)數(shù)據(jù)的潛在分布。GAN(生成對(duì)抗網(wǎng)絡(luò))同樣是一種生成...詳情>>

2023-10-15 06:10:12
什么是PLC?

一、什么是PLCPLC,全稱為 Programmable Logic Controller,中文名為可編程邏輯控制器。它是一種專為實(shí)現(xiàn)工業(yè)過(guò)程、生產(chǎn)線、機(jī)械裝置或某些其他...詳情>>

2023-10-15 05:26:08
為什么LTD獨(dú)立站就是Web3.0網(wǎng)站?

一、LTD獨(dú)立站的概念 LTD獨(dú)立站是指使用特定拔尖域名(如.com、.net、.org等)建立的獨(dú)立網(wǎng)站。LTD獨(dú)立站通常會(huì)有自己的服務(wù)器資源,可以自由地...詳情>>

2023-10-15 05:21:46