欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java instanceof關(guān)鍵字用法詳解及注意事項(xiàng)

 更新時間:2021年09月15日 15:39:13   作者:松寶睡不醒  
instanceof 是 Java 的保留關(guān)鍵字。它的作用是測試它左邊的對象是否是它右邊的類的實(shí)例,返回 boolean 的數(shù)據(jù)類型。本文重點(diǎn)給大家介紹Java instanceof關(guān)鍵字用法詳解及注意事項(xiàng),需要的朋友參考下吧

 instanceof 嚴(yán)格來說是Java中的一個雙目運(yùn)算符,用來測試一個對象是否為一個類的實(shí)例,用法為:

boolean result = obj instanceof Class

  其中 obj 為一個對象,Class 表示一個類或者一個接口,當(dāng) obj 為 Class 的對象,或者是其直接或間接子類,或者是其接口的實(shí)現(xiàn)類,結(jié)果result 都返回 true,否則返回false。

  注意:編譯器會檢查 obj 是否能轉(zhuǎn)換成右邊的class類型,如果不能轉(zhuǎn)換則直接報錯,如果不能確定類型,則通過編譯,具體看運(yùn)行時定。

instanceof

instanceof是Java的一個保留關(guān)鍵字,左邊是對象,右邊是類,返回類型是Boolean類型。它的具體作用是測試左邊的對象是否是右邊類或者該類的子類創(chuàng)建的實(shí)例對象,是,則返回true,否則返回false。

instanceof使用注意事項(xiàng)

  • 先有繼承關(guān)系,再有instanceof的使用。
  • 當(dāng)該測試對象創(chuàng)建時右邊的聲明類型左邊的類其中的任意一個跟測試類必須得是繼承樹的同一分支或存在繼承關(guān)系,否則編譯器會報錯。

instanceof使用示例

public class Application {

  public static void main(String[] args) {

    // Object > Person > teacher
    // Object > Person > Student
    // Object > String
    Object o = new Student(); // 主要看這個對象是什么類型與實(shí)例化的類名
    // instanceof關(guān)鍵字可以判斷左邊對象是否是右邊類或者子類的一個實(shí)例
    System.out.println(o instanceof Student); // o 是Student類的一個實(shí)例對象 所以判斷右邊類跟student有無關(guān)系 以及顯示聲明有無關(guān)系
    System.out.println(o instanceof Person); // true
    System.out.println(o instanceof Object); // true
    System.out.println(o instanceof String); // false
    System.out.println(o instanceof Teacher); // 無關(guān)系
    System.out.println("========================");
    Person person = new Student();
    System.out.println(person instanceof Person); // true
    System.out.println(person instanceof Object); // true
    // System.out.println(person instanceof String); // 編譯錯誤
    System.out.println(person instanceof Teacher); // 無關(guān)系

  }
}

instanceof 應(yīng)用場景

需要用到對象的強(qiáng)制類型轉(zhuǎn)換時,需要使用instanceof進(jìn)行判斷。

到此這篇關(guān)于Java instanceof關(guān)鍵字用法詳解及注意事項(xiàng)的文章就介紹到這了,更多相關(guān)Java instanceof用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • ssm整合之Spring整合MyBatis框架配置事務(wù)的詳細(xì)教程

    ssm整合之Spring整合MyBatis框架配置事務(wù)的詳細(xì)教程

    這篇文章主要介紹了ssm整合之Spring整合MyBatis框架配置事務(wù),本文通過圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • Java 運(yùn)算符詳情

    Java 運(yùn)算符詳情

    這篇文章主要介紹了Java 運(yùn)算符,Java 中的運(yùn)算符與 C 語言基本一致。下面文章就圍繞Java 中的運(yùn)算符的相關(guān)資料展開內(nèi)容,需要的朋友可以參考一下
    2021-11-11
  • Java ServletContext對象用法解析

    Java ServletContext對象用法解析

    這篇文章主要介紹了Java ServletContext對象用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • SpringBoot整合RestTemplate用法的實(shí)現(xiàn)

    SpringBoot整合RestTemplate用法的實(shí)現(xiàn)

    本篇主要介紹了RestTemplate中的GET,POST,PUT,DELETE、文件上傳和文件下載6大常用的功能,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • 解析Orika的MapperFacade 屬性賦值的使用問題

    解析Orika的MapperFacade 屬性賦值的使用問題

    在我們實(shí)際開發(fā)中,常常會有對象與對象之間的轉(zhuǎn)化,或者把一個對象的數(shù)據(jù)轉(zhuǎn)化到另一個數(shù)據(jù)之中,如果我們手動的一個一個的set就會比較麻煩,代碼段看起來也會比較長。而Orika的MapperFacade就是解決這個問題的,實(shí)現(xiàn)對象屬性的復(fù)制
    2021-12-12
  • SpringBoot @Validated注解實(shí)現(xiàn)參數(shù)分組校驗(yàn)的方法實(shí)例

    SpringBoot @Validated注解實(shí)現(xiàn)參數(shù)分組校驗(yàn)的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于SpringBoot @Validated注解實(shí)現(xiàn)參數(shù)分組校驗(yàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • spring boot整合scurity做簡單的登錄校驗(yàn)的實(shí)現(xiàn)

    spring boot整合scurity做簡單的登錄校驗(yàn)的實(shí)現(xiàn)

    這篇文章主要介紹了spring boot整合scurity做簡單的登錄校驗(yàn)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Springboot 集成 lombok.jar過程解析

    Springboot 集成 lombok.jar過程解析

    這篇文章主要介紹了Springboot 集成 lombok.jar過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Java代碼是如何被CPU狂飆起來的

    Java代碼是如何被CPU狂飆起來的

    無論是剛剛?cè)腴TJava的新手還是已經(jīng)工作了的老司機(jī),恐怕都不容易把Java代碼如何一步步被CPU執(zhí)行起來這個問題完全講清楚。本文就帶你詳細(xì)了解Java代碼到底是怎么運(yùn)行起來的。感興趣的同學(xué)可以參考閱讀
    2023-03-03
  • 基于ssm中dao接口@Param注解的用法

    基于ssm中dao接口@Param注解的用法

    這篇文章主要介紹了基于ssm中dao接口@Param注解的用法,具有很好的參考價值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02

最新評論