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

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人一区二区三区| 国产精品一品二品国精品| 国产女人高潮流白丝视频| 婷婷91麻豆精品国产人妻| 亚洲成av人一区二区三区| 一区二区三区四区自拍偷拍视频| 色六月婷婷六月久久六月| 麻豆色视频在线观看免费| 欧美特黄在线免费观看| 四虎精品免费在线视频| 日本韩国亚洲三级在线| 天堂av在线资源观看| 欧美日韩精品福利一区二区| 日韩人妻av免费电影| 日韩区一区二在线视频| 在线播放国产91精品| 日韩中文字幕在线有码| 国产精品色呦呦一区二区| 日本一二三四卡久久精品| 国内精品久久久国产盗摄| 亚洲人的av在线播放| 综合av在线一区天堂| 国产传媒在线免费播放视频| 一区二区三区乱码国产| 久久国产精品欧美熟妇| 日韩av大片一区二区三区| 欧美日本国产老熟女视频| 调教亚洲另类唯美第二页| 亚洲欧美国产精品日韩| 18禁在线免费观看网站| 夜色一区二区av人片| 亚洲熟乱熟女一区二区|