คำถามติดแท็ก kotlin

Kotlin เป็นภาษาการเขียนโปรแกรมแบบโอเพนซอร์ซที่ได้รับการสนับสนุนจาก JetBrains Kotlin ผสมผสานคุณสมบัติ OOP และคุณสมบัติการใช้งานและมุ่งเน้นไปที่การทำงานร่วมกันความปลอดภัยความคมชัดและการรองรับเครื่องมือ ปัจจุบันกำหนดเป้าหมายไปที่ JVM และ JavaScript และเป็นภาษาที่ได้รับการสนับสนุนอย่างเป็นทางการบน Android



3
ความแตกต่างระหว่าง ArrayList <String> () และ mutableListOf <String> () ใน Kotlin
private val repositories = mutableListOf&lt;String&gt;() private val repositories = ArrayList&lt;String&gt;() ทั้งสองรายการไม่แน่นอนแล้วสิ่งที่เป็นจุดของทั้งสองคำหลักmutableListOfหรือArrayList? หรือมีความแตกต่างที่สำคัญ?
110 kotlin 

11
Kotlin addTextChangeListener แลมด้า?
คุณสร้างนิพจน์แลมบ์ดาสำหรับ EditText addTextChangeListener ใน Kotlin ได้อย่างไร ด้านล่างแสดงข้อผิดพลาด: passwordEditText.addTextChangedListener { charSequence -&gt; try { password = charSequence.toString() } catch (error: Throwable) { raise(error) } }
109 android  kotlin  textview  anko 

5
ความแตกต่างระหว่างคลาสและอ็อบเจ็กต์ใน Kotlin
ฉันเพิ่งเริ่มใช้ Kotlin และเพิ่งแปลงไฟล์ธรรมดาจาก java เป็น Kotlin ฉันสงสัยว่าทำไมตัวแปลง Android จึงเปลี่ยนคลาส java ของฉันเป็นวัตถุ Kotlin Java: public class MyClass { static public int GenerateChecksumCrc16(byte bytes[]) { int crc = 0xFFFF; int temp; int crc_byte; for (byte aByte : bytes) { crc_byte = aByte; for (int bit_index = 0; bit_index &lt; 8; bit_index++) { …
109 java  android  kotlin 

13
ข้อมูลอ้างอิงที่ไม่ได้รับการแก้ไข: kotlinx
ฉันกำลังพยายามทดลองใช้ Kotlin และส่วนขยายของ Kotlin Android ใน Android Studio ฉันได้ลองแล้วทั้งใน Android Studio v 1.5.1 บน Ubuntu 14.04 และใน Android Studio v 1.5.1 บน OS X El Capitan ด้วยผลลัพธ์เดียวกัน นี่คือสิ่งที่ฉันกำลังทำ: ฉันติดตั้งปลั๊กอิน Kotlin 1.0.0-beta-35950-IJ141-11 สร้างโครงการ Android เปล่าใหม่ แปลงไฟล์ MainActivity เป็น Kotlin (ผ่าน help-&gt; findaction-&gt; แปลงไฟล์เป็น kotlin) กำหนดค่าโครงการสำหรับ Kotlin จากนั้นไปที่ไฟล์ content_main.xml ที่สร้างขึ้นและเพิ่ม id (สวัสดี) …

5
Kotlin: วิธีใช้งาน List casts: Unchecked Cast: kotlin.collections.List <Kotlin.Any?> ไปยัง kotlin.colletions.List <Waypoint>
ฉันต้องการเขียนฟังก์ชันที่ส่งคืนทุกรายการในรายการListที่ไม่ใช่รายการแรกหรือรายการสุดท้าย (a via point) ฟังก์ชันได้รับข้อมูลทั่วไปList&lt;*&gt;เป็นอินพุต ควรส่งคืนผลลัพธ์ก็ต่อเมื่อองค์ประกอบของรายการเป็นประเภทWaypoint: fun getViaPoints(list: List&lt;*&gt;): List&lt;Waypoint&gt;? { list.forEach { if(it !is Waypoint ) return null } val waypointList = list as? List&lt;Waypoint&gt; ?: return null return waypointList.filter{ waypointList.indexOf(it) != 0 &amp;&amp; waypointList.indexOf(it) != waypointList.lastIndex} } เมื่อส่งList&lt;*&gt;ไปList&lt;Waypoint&gt;ฉันได้รับคำเตือน: Unchecked Cast: kotlin.collections.List to kotlin.colletions.List ฉันไม่สามารถหาวิธีนำไปใช้เป็นอย่างอื่นได้ อะไรคือวิธีที่ถูกต้องในการใช้ฟังก์ชันนี้โดยไม่มีคำเตือนนี้
108 list  generics  casting  kotlin 

3
Kotlin Data Class จาก Json โดยใช้ GSON
ฉันมีคลาส Java POJO ดังนี้: class Topic { @SerializedName("id") long id; @SerializedName("name") String name; } และฉันมีคลาสข้อมูล Kotlin เช่นนี้ data class Topic(val id: Long, val name: String) จะจัดเตรียมjson keyตัวแปรใด ๆ ที่kotlin data classคล้ายกับ@SerializedNameคำอธิบายประกอบในตัวแปร java ได้อย่างไร
108 java  json  gson  kotlin  data-class 

3
ห้อง Android - เลือกข้อความค้นหาด้วย LIKE
ฉันกำลังพยายามสร้างคำค้นหาเพื่อค้นหาวัตถุทั้งหมดที่มีชื่อประกอบด้วยข้อความ: @Query("SELECT * FROM hamster WHERE name LIKE %:arg0%") fun loadHamsters(search: String?): Flowable&lt;List&lt;Hamster&gt;&gt; ข้อความ: Error:no viable alternative at input 'SELECT * FROM hamster WHERE name LIKE %' Error:There is a problem with the query: [SQLITE_ERROR] SQL error or missing database (near "%": syntax error) Error:Unused parameter: arg0 ฉันกำลังพยายาม: @Query("SELECT * …

2
ความแตกต่างระหว่าง“ *” และ“ Any” ใน Kotlin generics
ผมไม่แน่ใจว่าผมเข้าใจความแตกต่างระหว่างและSomeGeneric&lt;*&gt; SomeGeneric&lt;Any&gt;ฉันคิดว่า*แสดงถึงอะไรก็ได้ (สัญลักษณ์แทน) และAnyแสดงถึงวัตถุที่วัตถุทั้งหมดสืบทอดมา ดูเหมือนว่าพวกเขาควรจะเหมือนกัน แต่พวกเขา?
107 generics  kotlin 

3
ใน Kotlin ฉันจะอ่านเนื้อหาทั้งหมดของ InputStream เป็น String ได้อย่างไร
ฉันเพิ่งเห็นรหัสสำหรับอ่านเนื้อหาทั้งหมดของInputStreamสตริงใน Kotlin เช่น: // input is of type InputStream val baos = ByteArrayOutputStream() input.use { it.copyTo(baos) } val inputAsString = baos.toString() และนอกจากนี้ยังมี: val reader = BufferedReader(InputStreamReader(input)) try { val results = StringBuilder() while (true) { val line = reader.readLine() if (line == null) break results.append(line) } val inputAsString = results.toString() …

17
Kotlin Android เริ่มกิจกรรมใหม่
ฉันต้องการเริ่มกิจกรรมอื่นบน Android แต่ได้รับข้อผิดพลาดนี้: โปรดระบุการร้องขอตัวสร้าง ลักษณนาม 'Page2' ไม่มีวัตถุร่วม หลังจากสร้างอินสแตนซ์Intentคลาสแล้ว ฉันควรทำอย่างไรเพื่อแก้ไขข้อผิดพลาด รหัสของฉัน: class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } fun buTestUpdateText2 (view: View) { val changePage = Intent(this, Page2) // Error: "Please specify constructor invocation; // classifier 'Page2' does not have a companion object" startActivity(changePage) } …

5
ควรใช้ฟังก์ชันอินไลน์ใน Kotlin เมื่อใด
ฉันรู้ว่าฟังก์ชันอินไลน์อาจจะปรับปรุงประสิทธิภาพและทำให้โค้ดที่สร้างขึ้นเติบโตขึ้น แต่ฉันไม่แน่ใจว่าเมื่อไหร่ที่จะใช้มันถูกต้อง lock(l) { foo() } แทนที่จะสร้างอ็อบเจ็กต์ฟังก์ชันสำหรับพารามิเตอร์และสร้างการเรียกคอมไพเลอร์สามารถส่งโค้ดต่อไปนี้ ( ที่มา ) l.lock() try { foo() } finally { l.unlock() } แต่ฉันพบว่าไม่มีฟังก์ชันอ็อบเจ็กต์ที่สร้างโดย kotlin สำหรับฟังก์ชันที่ไม่ใช่อินไลน์ ทำไม? /**non-inline function**/ fun lock(lock: Lock, block: () -&gt; Unit) { lock.lock(); try { block(); } finally { lock.unlock(); } }

11
Enums ที่มีประสิทธิภาพใน Kotlin ด้วยการค้นหาแบบย้อนกลับ?
ฉันพยายามหาวิธีที่ดีที่สุดในการ 'ค้นหาแบบย้อนกลับ' ใน enum ใน Kotlin ข้อได้เปรียบอย่างหนึ่งของฉันจาก Effective Java คือคุณแนะนำแผนที่แบบคงที่ภายใน enum เพื่อจัดการการค้นหาแบบย้อนกลับ การย้ายสิ่งนี้ไปยัง Kotlin ด้วย enum อย่างง่ายทำให้ฉันไปสู่รหัสที่มีลักษณะดังนี้: enum class Type(val value: Int) { A(1), B(2), C(3); companion object { val map: MutableMap&lt;Int, Type&gt; = HashMap() init { for (i in Type.values()) { map[i.value] = i } } fun fromInt(type: Int?): …
105 enums  kotlin 

1
มีการอ้างอิงตัวสร้างใน Kotlin หรือไม่?
ใน Java เรามีClass::newไวยากรณ์สำหรับการอ้างอิงตัวสร้าง ฉันรู้ว่ามีการอ้างอิงที่เรียกได้สำหรับวิธีการ แต่ตัวสร้างล่ะ กรณีการใช้งานทั่วไปสำหรับฉันคือโรงงาน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.