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

Kotlin基礎(chǔ)教程之操作符與操作符重載

 更新時間:2017年05月27日 11:07:04   投稿:lqh  
這篇文章主要介紹了Kotlin基礎(chǔ)教程之操作符與操作符重載的相關(guān)資料,需要的朋友可以參考下

Kotlin基礎(chǔ)教程之操作符與操作符重載

Kotlin操作符的使用方法與其他語言差不多,最大的特點就在于infix function call(事實上infix function call并不是操作符的特性,而是函數(shù)的特性)和操作符重載.

可以看到在Kotlin中大部分的操作符都與一個函數(shù)相對應(yīng),之所以這樣做,大概是為了進行操作符重載.

Kotlin官方文檔中強調(diào)"=賦值"操作在Kotlin中不是操作符,換句話說類似于x = y = z這樣的連續(xù)賦值并不被允許(甚至賦值操作也不能和常規(guī)的表達式混合寫).

我們知道在C++語言里面操作符就是一個函數(shù),在Kotlin中也是如此.

至于infix function call,目前來看,如果在類中定義了只包含一個參數(shù)的函數(shù),比如Int.plus(Int)函數(shù)是在Int類中定義,而且只有一個參數(shù),那么這樣的函數(shù)就可以簡寫.val x = 1.plus(1)可以簡寫為val x = 1 plus 1

上面的代碼運行結(jié)果如下:

至于操作符重載,如下:

運行結(jié)果如下:

操作符重載并不能增加新的操作符,也不能改變操作符的優(yōu)先級和結(jié)合性.

操作符的結(jié)合性(左結(jié)合,右結(jié)合)與Java相同,然而操作符的優(yōu)先級官方文檔并未給出,目前來看和Java并不完全相同,這主要是因為Kotlin中操作符和Java中性質(zhì)并不完全相同.

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • SpringBoot項目集成日志的實現(xiàn)方法

    SpringBoot項目集成日志的實現(xiàn)方法

    這篇文章主要介紹了SpringBoot項目集成日志的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • 基于Springboot2.0構(gòu)建ES的多客戶端

    基于Springboot2.0構(gòu)建ES的多客戶端

    這篇文章主要為大家詳細介紹了基于Springboot2.0構(gòu)建ES的多客戶端,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • JUnit測試控制@Test執(zhí)行順序的三種方式小結(jié)

    JUnit測試控制@Test執(zhí)行順序的三種方式小結(jié)

    這篇文章主要介紹了JUnit測試控制@Test執(zhí)行順序的三種方式小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • springboot整合EHCache的實踐方案

    springboot整合EHCache的實踐方案

    EhCache是一個純Java的進程內(nèi)緩存框架,具有快速、精干等特點,是Hibernate中默認的CacheProvider。這篇文章給大家介紹了springboot整合EHCache的實踐方案,需要的朋友參考下
    2018-01-01
  • 一文帶你了解Spring的Bean初始化過程和生命周期

    一文帶你了解Spring的Bean初始化過程和生命周期

    Spring的核心功能有三點IOC、DI、AOP,IOC則是基礎(chǔ),也是Spring功能的最核心的點之一。今天一起來總結(jié)下Spring中Bean是怎么被創(chuàng)建出來的
    2023-03-03
  • Gradle的使用教程詳解

    Gradle的使用教程詳解

    Gradle它使用一種基于Groovy的特定領(lǐng)域語言(DSL)來聲明項目設(shè)置,目前也增加了基于Kotlin語言的kotlin-based DSL,拋棄了基于XML的各種繁瑣配置,下面通過本文給大家介紹Gradle的使用教程,感興趣的朋友一起看看吧
    2020-09-09
  • Java使用Graphics2D繪制SVG和PNG的方法

    Java使用Graphics2D繪制SVG和PNG的方法

    Java提供了許多圖形處理類和方法,如Graphics2D、AffineTransform、Stroke等,這些都可以用于繪制SVG圖像,Graphics2D是Java中用于繪制2D圖形的類,本文給大家介紹如何使用Graphics2D繪制SVG和PNG,需要的朋友可以參考下
    2023-06-06
  • 詳解在idea 中使用Mybatis Generator逆向工程生成代碼

    詳解在idea 中使用Mybatis Generator逆向工程生成代碼

    這篇文章主要介紹了在idea 中使用Mybatis Generator逆向工程生成代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • java基本教程之java線程等待與java喚醒線程 java多線程教程

    java基本教程之java線程等待與java喚醒線程 java多線程教程

    這篇文章主要介紹了對線程等待/喚醒方法,文中使用了多個示例,大家參考使用吧
    2014-01-01
  • 雙token實現(xiàn)token超時策略示例

    雙token實現(xiàn)token超時策略示例

    用于restful的app應(yīng)用無狀態(tài)無sesion登錄示例,需要的朋友可以參考下
    2014-02-02

最新評論