有什么区别和适用。 从我所知道的下面的代码做同样的事情: swingElement.apply { minWidth = ENABLED_COLUMN_WIDTH maxWidth = ENABLED_COLUMN_WIDTH preferredWidth = ENABLED_COLUMN_WIDTH } with(swingElement) { minWidth = ENABLED_COLUMN_WIDTH maxWidth = ENABLED_COLUMN_WIDTH preferredWidth = ENABLED_COLUMN_WIDTH } 有什么区别,我应该使用一个吗? 另外,有些情况下,一个会工作,另一个不会?
嗨,我是Kotlin世界的新手。 我喜欢迄今为止所看到的,并开始考虑将我们在应用程序中使用的一些库从Java转换为Kotlin。 这些库充满了Pojos,包括setter,getters和Builder类。 现在我已经用Googlesearch了解在Kotlin中实施build筑商的最佳方法,但没有成功。 第二次更新:现在的问题是如何编写一个简单的POJO的Builderdevise模式与Kotlin中的一些参数? 下面的代码是我通过编写java代码然后使用eclipse-kotlin-plugin转换成Kotlin的尝试。 class Car private constructor(builder:Car.Builder) { var model:String? = null var year:Int = 0 init { this.model = builder.model this.year = builder.year } companion object Builder { var model:String? = null private set var year:Int = 0 private set fun model(model:String):Builder { this.model = model return this } fun year(year:Int):Builder […]
假设KeyAdapter是一个抽象类,有几个可以被覆盖的方法。 在Java中我可以这样做: KeyListener keyListener = new KeyAdapter() { @Override public void keyPressed(KeyEvent keyEvent) { // … } }; 如何在Kotlin中做同样的事情?
似乎很简单,但是,如何初始化Kotlin的MutableList来清空MutableList ? 我可以用这种方法破解它,但我确定有更简单的方法可用: var pusta: List<Kolory> = emptyList() var cos: MutableList<Kolory> = pusta.toArrayList()
在Java 8中,我们可以引用一个类的实例的方法。 这是一个例子 Function1<Integer, Object> ref = a::getItem; a是具有方法Object getItem(int i)的类Adapter实例。 我们可以在Kotlin做同样的事吗? 我尝试了相同的语法没有成功。 到目前为止,我只能创build一个扩展方法的引用,如下所示: val ref: Adapter.(Int) -> Any = Adapter::getItem 但是在这里我仍然需要一个Adapter的实例来调用它。 我看到的另一种替代方法是定义一个这样的lambda: val ref: (Int) -> Any = { a.getItem(it) }
据我所知: PUT – 用其整个表示更新对象(replace) 修补程序 – 仅使用给定字段更新对象(更新) 我正在使用Spring来实现一个非常简单的HTTP服务器。 当用户想要更新他的数据时,他需要为某个端点(比如: api/user )创build一个HTTP PATCH 。 他的请求体通过@RequestBody映射到DTO,如下所示: class PatchUserRequest { @Email @Length(min = 5, max = 50) var email: String? = null @Length(max = 100) var name: String? = null … } 然后我使用这个类的一个对象来更新(修补)用户对象: fun patchWithRequest(userRequest: PatchUserRequest) { if (!userRequest.email.isNullOrEmpty()) { email = userRequest.email!! } if (!userRequest.name.isNullOrEmpty()) { name […]
例如,我有一个string列表,如: val list = listOf("a", "b", "c", "d") 我想把它转换成一个映射,其中的string是关键。 我知道我应该使用.toMap()函数,但我不知道如何,我没有看到它的任何例子。
List和Arraytypes有什么区别? 看起来可以对它们进行相同的操作(循环,过滤expression式等),在行为或用法方面是否有区别? val names1 = listOf("Joe","Ben","Thomas") val names2 = arrayOf("Joe","Ben","Thomas") for (name in names1) println(name) for (name in names2) println(name)
我目前在我的Java项目中使用了优秀的AutoParcel ,这有助于创buildParcelable类。 现在,我为下一个项目考虑的Kotlin具有这种数据类的概念,它自动生成equals,hashCode和toString方法。 有没有一种方便的方法来创build一个Kotlin数据类Parcelable方便的方式(没有手动实现的方法)?
比方说,我有一个人名列表,我需要首先按年龄,然后按名称sorting。 来自C#的背景,我可以通过使用LINQ轻松实现这种语言: var list=new List<Person>(); list.Add(new Person(25, "Tom")); list.Add(new Person(25, "Dave")); list.Add(new Person(20, "Kate")); list.Add(new Person(20, "Alice")); //will produce: Alice, Kate, Dave, Tom var sortedList=list.OrderBy(person => person.Age).ThenBy(person => person.Name).ToList(); 如何使用Kotlin完成这个工作? 这是我试过的(这显然是错误的,因为第一个“sortedBy”子句的输出被第二个输出覆盖,导致列表按Namesorting) val sortedList = ArrayList(list.sortedBy { it.age }.sortedBy { it.name })) //wrong