欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Kotlin與Java互操作-創(chuàng)新互聯(lián)

1,Kotlin 調(diào)用Java

創(chuàng)新互聯(lián)是專業(yè)的疊彩網(wǎng)站建設(shè)公司,疊彩接單;提供成都網(wǎng)站設(shè)計、成都網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行疊彩網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!import?java.util.* fun?demo(source:?List<Int>)?{ ????val?list?=?ArrayList<Int>()???? ????for?(item?in?source)?{ ????????list.add(item) ????} ????for?(i?in?0..source.size?-?1)?{ ????????list[i]?=?source[i]?//?get?and?set?are?called ????} }

關(guān)于getter和setter的默認(rèn)調(diào)用

import?java.util.Calendar fun?calendarDemo()?{ ????val?calendar?=?Calendar.getInstance() ????if?(calendar.firstDayOfWeek?==?Calendar.SUNDAY)?{??//?調(diào)用了getFirstDayOfWeek() ????????calendar.firstDayOfWeek?=?Calendar.MONDAY??????//?調(diào)用了?setFirstDayOfWeek() ????} ????if?(!calendar.isLenient)?{?????????????????????????//?調(diào)用了isLenient() ????????calendar.isLenient?=?true??????????????????????//?調(diào)用了setLenient() ????} }

注意,如果一個java屬性只有setter,那么Kotlin就無法訪問。 Kotlin訪問java的屬性其實是默認(rèn)調(diào)用了這個屬性的getter函數(shù)

如果一個java函數(shù)是void類型的,那么kotlin調(diào)用后獲得的返回值類型是Unit

如果一個java函數(shù)名用了kotlin的關(guān)鍵字,比如:?in,?object,?is ,那么在kotlin中訪問的時候,要給函數(shù)名加上' ,

foo.`is`(bar)

2,null安全和平臺類型

java中的對象很可能是null,kotlin把java對象當(dāng)做平臺類型,對其null安全要求不再那么苛刻

val?list?=?ArrayList<String>()?//?不需要java的new了 list.add("Item") val?size?=?list.size? val?item?=?list[0]?//?普通java對象,當(dāng)做平臺類型 //當(dāng)我們調(diào)用平臺類型的變量時,?Kotlin不會在編譯階段就做null安全性檢查,?但運行的時候可能會訪問失敗 item.substring(1)?//?編譯通過,運行的時候如果item是null就會拋出exception? val?nullable:?String??=?item?//?正確 val?notNull:?String?=?item?//?編譯通過,但運行時可能報錯

我們不能在代碼中顯式聲明平臺類型,為了方便編譯階段檢查,我們設(shè)定以下記憶符號:

  • T!?意思是 "T?或T?",

  • (Mutable)Collection<T>!?意思是 "Java collection of?T?may be mutable or not, may be nullable or not",

  • Array<(out) T>!?意思是"Java array of?T?(or a subtype of?T), nullable or not"

3,類型對應(yīng)關(guān)系

Java typeKotlin type
bytekotlin.Byte
shortkotlin.Short
intkotlin.Int
longkotlin.Long
charkotlin.Char
floatkotlin.Float
doublekotlin.Double
booleankotlin.Boolean

Java typeKotlin type
java.lang.Objectkotlin.Any!
java.lang.Cloneablekotlin.Cloneable!
java.lang.Comparablekotlin.Comparable!
java.lang.Enumkotlin.Enum!
java.lang.Annotationkotlin.Annotation!
java.lang.Deprecatedkotlin.Deprecated!
java.lang.CharSequencekotlin.CharSequence!
java.lang.Stringkotlin.String!
java.lang.Numberkotlin.Number!
java.lang.Throwablekotlin.Throwable!

Edit Page


Java typeKotlin type
java.lang.Bytekotlin.Byte?
java.lang.Shortkotlin.Short?
java.lang.Integerkotlin.Int?
java.lang.Longkotlin.Long?
java.lang.Characterkotlin.Char?
java.lang.Floatkotlin.Float?
java.lang.Doublekotlin.Double?
java.lang.Booleankotlin.Boolean?

注意,如果java用了原始類型作為參數(shù),那么在kotlin中轉(zhuǎn)換為平臺類型,比如:List<java.lang.Integer>?在kotlin中對應(yīng)?List<Int!>?

Kotlin的集合類型可以是只讀的,或者可變的,所以,跟java的集合類型對應(yīng)關(guān)系如下? (下表里面的這些Kotlin 類型都在包?kotlin.collections里):

Java typeKotlin read-only typeKotlin mutable typeLoaded platform type
Iterator<T>Iterator<T>MutableIterator<T>(Mutable)Iterator<T>!
Iterable<T>Iterable<T>MutableIterable<T>(Mutable)Iterable<T>!
Collection<T>Collection<T>MutableCollection<T>(Mutable)Collection<T>!
Set<T>Set<T>MutableSet<T>(Mutable)Set<T>!
List<T>List<T>MutableList<T>(Mutable)List<T>!
ListIterator<T>ListIterator<T>MutableListIterator<T>(Mutable)ListIterator<T>!
Map<K, V>Map<K, V>MutableMap<K, V>(Mutable)Map<K, V>!
Map.Entry<K, V>Map.Entry<K, V>MutableMap.MutableEntry<K,V>(Mutable)Map.(Mutable)Entry<K, V>!

Java'的對應(yīng)如下:

Java typeKotlin type
int[]kotlin.IntArray!
String[]kotlin.Array<(out) String>!

注意: java的static 變量不能作為kotlin?companion?對象直接訪問,必須要帶上java類型才可以,比如?java.lang.Integer.toHexString(foo).

參考文獻(xiàn):https://kotlinlang.org/docs/reference/java-interop.html


另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

本文標(biāo)題:Kotlin與Java互操作-創(chuàng)新互聯(lián)
新聞來源:http://aaarwkj.com/article8/cdppop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、手機網(wǎng)站建設(shè)、網(wǎng)站排名、軟件開發(fā)搜索引擎優(yōu)化、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管
精品国产品国语在线不卡| 日日干天天日夜夜操| 凹凸国产精品熟女视频| 香蕉视频欧美日韩国产| 国产一级特黄大片特爽| 国产超码片内射在线| 国产一区二区精品性浆| 天天操操操操操操夜夜爽| 国产精品女人毛片在线看| 亚洲精品在线观看毛片| 亚洲男人av天堂东京热| 亚洲av乱码毛片在线播放| 日吊视频在线免费观看| avav男人天堂亚洲天堂| 亚洲精品免费福利视频| 欧美一区二区欧美精品| 色噜噜人妻av中文字幕| 成人中文字幕av电影| 日韩欧美国产午夜精品| 日本欧美国产一区二区| 久久精品午夜福利一区| 午夜日本大胆裸体艺术| 亚洲精品一区二区午夜| 天天做日日干夜夜操| 免费福利激情在线播放| 日本免费一区二区三区的电影啊| 五月激情开心久久婷婷| 成人精品播放视频在线观看| 极品性感尤物少妇粉嫩逼| 国产伦理自拍视频在线观看| 国产高清不卡一二三区| 国产精品久久久久久老熟女| 久久久久四虎国产精品| 天堂av免费资源在线观看| 熟女aaa一区二区午夜| 国产男女免费操作视频| 日本一区二区三区高清在线| 四虎精品国产一区二区三区| 日韩av高清在线播放| 97全国免费观看视频| 中文字幕免费日本在线|