Questions tagged «kotlin»

Kotlin是JetBrains支持的一种开源静态类型编程语言。Kotlin结合了OOP和功能特性,并专注于互操作性,安全性,清晰度和工具支持。它目前针对JVM和JavaScript,并且是Android上官方支持的语言。

5
Kotlin:如何使用List演员表:未选中的Cast:kotlin.collections.List <Kotlin.Any?>到kotlin.colletions.List <Waypoint>
我想编写一个函数,该函数返回a中的每个项目List,而不是第一个或最后一个项目(通过点)。该函数获取通用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;,我得到的警告: 未经检查的演员表:kotlin.collections.List到kotlin.colletions.List 我想不通其他方法来实现它。在没有此警告的情况下实现此功能的正确方法是什么?
108 list  generics  casting  kotlin 



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(); } }

2
在Kotlin中,如何将InputStream的全部内容读取为String?
我最近看到了用于读取 InputStream在Kotlin中入String的,例如: // 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() } …

3
使用GSON的Json的Kotlin数据类
我有这样的Java POJO类: class Topic { @SerializedName("id") long id; @SerializedName("name") String name; } 我有一个像这样的Kotlin数据类 data class Topic(val id: Long, val name: String) 如何在java变量中提供json key给kotlin data class诸如@SerializedName注解之类的任何变量?
105 java  json  gson  kotlin  data-class 

3
Android Room-使用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 * …



11
Kotlin addTextChangeListener lambda吗?
如何在Kotlin中为EditText addTextChangeListener构建lambda表达式?下面给出了一个错误: passwordEditText.addTextChangedListener { charSequence -&gt; try { password = charSequence.toString() } catch (error: Throwable) { raise(error) } }
103 android  kotlin  textview  anko 

8
如何在Kotlin中检查“ instanceof”类?
在kotlin类中,我将方法参数作为类类型T的对象(请参见此处的kotlin doc )。作为对象,我在调用方法时传递不同的类。在Java中,我们可以使用对象来比较类。instanceof 所以我想在运行时检查并比较它是哪个类? 如何instanceof在Kotlin中上课?

10
反向查找在Kotlin中有效的枚举?
我正在尝试找到对Kotlin枚举进行“反向查找”的最佳方法。我从有效Java中获得的收获之一是,您在枚举内部引入了静态映射以处理反向查找。使用一个简单的枚举将其移植到Kotlin可使我编写如下代码: 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?): Type? { return map[type] } } } 我的问题是,这是最好的方法,还是有更好的方法?如果我有几个遵循类似模式的枚举怎么办?Kotlin中是否有办法使此代码在枚举中更可重用?
102 enums  kotlin 


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) } }


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.