在Kotlin中,方法引用的结果放在包kotlin.reflect中。 Java中的方法引用也是reflection-api的一部分吗?
将Map格式的JSON转换为相应的java / kotlin对象的最有效方法是什么? 现在我必须像这样使用它,这似乎是一个愚蠢的实现。 gson.fromJson(gson.toJson(mapToConvert), typeToken) 有什么建议么?
我正在读Kotlin,并没有完全明白 从我所了解的扩展function给予一个具有新function的类的能力,而不必从类inheritance 什么是接收者,除了可以分配给variables 还有什么关于它的吗? 有人可以举一些例子
我试过这个,代码没有编译。 class GenericClass() { private var arr : Array? = null { arr = Array(10, { null }) } }
有没有一种快速的方法来分割一个字符串固定的字符在Kotlin? 我需要分割这个544A1609B62E ,小写它,加:在需要和实现这个: 54:4a:16:09:b6:2e 。 这将是什么惯用的方式呢?
我有以下Kotlin / Anko / Android活动。 import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.widget.TextView import com.fasterxml.jackson.module.kotlin.readValue import com.github.kittinunf.fuel.Fuel import eu.gwapi.laaketilaus.util.JSON import eu.gwapi.laaketilaus.util.Order import org.jetbrains.anko.find import org.jetbrains.anko.textView import org.jetbrains.anko.toast import org.jetbrains.anko.verticalLayout class OrderDetailsActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val order_id: Long = intent.extras.getLong(“order_id”) verticalLayout { textView { id = R.id.order_detail_customer } textView { id = […]
我想创建一个键是一个单一的对象和值是许多对象,其中一些包含generics地图。 Kotlin有没有简明的方法? 过去我曾经使用过数据类,但还没有find一种方法来使用generics。 谢谢! 编辑:这是一个例子: class SomeClass { data class Data(val str: String, val int: Int, val e: E) //the last value is invalid val map: MutableMap = mutableMapOf() }
我用通用的方式使用Fuel的responseObject有一个问题。 我试图开发一个集中的方法,让组件获得他们的HTTP响应对象已经反序列化,准备去。 它看起来像这样: class Controller(private val url: String) { fun call(endpoint: String): T { return “$url/$endpoint”.httpGet().responseObject() } } class App(private val controller: Controller) { fun getModel() { val model = controller.call(“model”) // use model } } 当然, Controller.call会处理错误,并添加通用的请求参数。 JSON的反序列化应该由Jackson来处理( AppModel是一个简单的数据类,Jackson应该自动选择),所以我正在使用fuel-jackson:1.12.0作为附加依赖。 现在,使用Kotlin-1.2.21,我得到这个编译器错误: 错误:(35,97)Kotlin:不能使用“T”作为实体types参数。 改用class级。 我该如何解决这个问题,也许通过切换到不同的燃料方法? 我已经考虑过在内部call (用来表示T),但是这个失败的目的是拥有一个private val url 。
class CholesterolPagingFragment: Fragment() { companion object { fun newInstance(): CholesterolPagingFragment { val args = Bundle() val fragment = CholesterolPagingFragment() fragment.arguments = args return fragment } } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { val view = inflater.inflate(R.layout.fragment_paging_cholesterol, container, false) return view } } 我已经写了上面的代码在Kotlin初始化一个片段。 虽然我不能找出一种方法来传递对象列表(例如: List )到这个片段。 我已经尝试与Bundle()但找不到一个正确的方法。
我想断言expected和actual是相等的。 如果两者都为null或空白( “” ) – 即null表示空白。 .withComparator(…).isEqualTo(expected)不起作用,因为之前通过AspectJ检查了null : @Given(“^data is \”([^\”]*)\”$”) void theDataIs(String arg) { assertThat(msg.getData()) .usingComparator(blankOkComperator).isEqualTo(arg); } 我的比较者是Kotlin,但你有这样的想法: object blankOkComperator : Comparator { override fun compare(o1: String?, o2: String?): Int { if(StringUtils.isBlank(o1) && StringUtils.isBlank(o2)) return 0 if(StringUtils.isBlank(o1)) return -1 if(StringUtils.isBlank(o2)) return 1 return o1!!.compareTo(o2!!) } } 我只设法通过覆盖AssertJ的Condition来实现检查,但是对我来说看起来并不是很强硬: @Given(“^data is \”([^\”]*)\”$”) void theDataIs(String arg) { […]