Tag: kotlin

Spring Boot + Kotlin注释错误(s)

我有一个写在Kotlin的Spring Boot 2.0.0.M2 (带WebFlux)应用程序。 我习惯于为测试用例定义/声明“注释”,以避免一些样板配置; 就像是: import java.lang.annotation.ElementType import java.lang.annotation.Inherited import java.lang.annotation.Retention import java.lang.annotation.RetentionPolicy import java.lang.annotation.Target … @Inherited @Target(ElementType.TYPE) @AutoConfigureWebTestClient // TODO: FTW this really does?! @Retention(RetentionPolicy.RUNTIME) //@kotlin.annotation.Target(AnnotationTarget.TYPE) //@kotlin.annotation.Retention(AnnotationRetention.RUNTIME) @ActiveProfiles(profiles = arrayOf("default", "test")) @ContextConfiguration(classes = arrayOf(Application::class)) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) annotation class SpringWebFluxTest …然后在我的测试中,我使用它: @SpringWebFluxTest @RunWith(SpringRunner::class) class PersonWorkflowTest { private lateinit var client: WebTestClient … 问题是 […]

Kotlin函数语法

我正在做Kotlin Koans测试,以便熟悉Kotlin。 在某个测试中,我必须重写compareTo方法。 在第一种情况下,一切都按预期工作 data class MyDate(val year: Int, val month: Int, val dayOfMonth: Int) { operator fun compareTo(other: MyDate)= when { year != other.year -> year – other.year month != other.month -> month – other.month else -> dayOfMonth – other.dayOfMonth } } 现在在第二种情况下,我正在写compareTo有点不同,我得到了大量的编译错误。 data class MyDate(val year: Int, val month: Int, val dayOfMonth: Int) […]

Kotlin类实例assertEqual

我是新来的java / kotlin。 我想在下面的课堂上坚持平等: class PlaceCommand(vararg args: String) : ICommand { var direction: Direction = Direction.valueOf(args[1].toUpperCase()) var x: Int = args[2].toInt() var y: Int = args[3].toInt() // … } 需要改变什么: class FactoryTest { @Test fun testFactorySuccess() { val args = arrayOf("place", "WEST", "1", "1") val a = PlaceCommand(*args) val b = Factory(args) as PlaceCommand Assert.assertTrue(axequals(bx)) […]

IntelliJ:Kotlin没有自动完成功能?

我正在用Kotlin插件开发一个项目,但是IntelliJ似乎没有Kotlin的自动完成功能。 有没有办法来启用它,或者我应该只是处理它。

Observable.combine在kotlin中的最新类型推断

我在我的项目中使用了RxJava2,Kotlin-1.1和RxBindings。 我有简单的登录屏幕,默认情况下禁用“登录”按钮,我只想在用户名和密码edittext字段不为空时启用按钮。 LoginActivity.java Observable<Boolean> isFormEnabled = Observable.combineLatest(mUserNameObservable, mPasswordObservable, (userName, password) -> userName.length() > 0 && password.length() > 0) .distinctUntilChanged(); 我无法将上面的代码从Java翻译成Kotlin: LoginActivity.kt class LoginActivity : AppCompatActivity() { val disposable = CompositeDisposable() private var userNameObservable: Observable<CharSequence>? = null private var passwordObservable: Observable<CharSequence>? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_login) initialize() } fun initialize() { userNameObservable […]

Java 8 lambda到kotlin lambda

public class Main { static class Account { private Long id; private String name; private Book book; public Account(Long id, String name, Book book) { this.id = id; this.name = name; this.book = book; } public String getName() { return name; } } public static void main(String[] args) { List<Account> data1 = new ArrayList<>(); data1.add(new […]

在kotlin中初始化数组

我在kotlin中创建一个haiku生成器,但是我得到一个奇怪的“变量firstLineArray必须初始化”在这个代码块上。 import java.util.Random fun oneSyllableWords() : String{ val oneSyllableWordArray = arrayOf("Life", "Love", "One", "On", "No", "Go") val random = Random() val randint = random.nextInt(oneSyllableWordArray.size) return oneSyllableWordArray[randint] } fun main(args:Array<String>){ var firstLineArray : Array<String> var syllablesRemaining = 5 while(syllablesRemaining<0) { val random = Random() val randint = random.nextInt(4) + 1 for (i in 0..4){ if(randint == […]

Kotlin反射是不可用的

我试图从这个视频的第一个例子学习更高级的功能。 这是我的代码和输出。 码 fun lowercase(value: String) = value.toLowerCase() fun higherOrder(value:String, op: (String) -> String) : String { println("Executing higher order fun $op") return op(value) } fun main(args: Array<String>) { println(higherOrder("HELLO", ::lowercase)) println(higherOrder("hello", {it -> lowercase(it)})) println(higherOrder("HeLlo", { x -> lowercase(x) })) println(higherOrder("Hello", { lowercase(it) })) } 产量 Executing higher order fun function lowercase (Kotlin reflection […]

kotlin RecyclerViewAdapter IndexOutOfBoundException

我已经从Java转移到Kotlin并创建这个rec​​yclerViewAdapter: class MisPedidosAdapter(private val context: Context, private var pedidos: List<ParseObject>?, private val onMisPedidosClickListener: OnMisPedidosClickListener) : CustomRecyclerViewAdapter() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { when(getItemViewType(viewType)){ STATIC ->return NoMisPedidosHolder(LayoutInflater.from(parent.context).inflate(R.layout.no_pedidos_recibidos_item, parent, false)) else -> return MisPedidosHolder(LayoutInflater.from(parent.context).inflate(R.layout.mis_pedidos_item, parent, false), onMisPedidosClickListener, pedidos) } } override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { if (getItemViewType(position) == STATIC) { val mHolder […]

使用Kotlin for Android进行数据绑定问题

我正在尝试使用Kotlin为我的Android项目启用数据绑定。 我有Kotlin插件启用,但我不能启用数据绑定我不断收到以下错误 Error:(66, 0) Could not find method kapt() for arguments [com.android.databinding:compiler:2.0.0-beta6] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler 我有我的gradle文件中的数据绑定以下依赖关系 dependencies { … kapt 'com.android.databinding:compiler:2.0.0-beta6' } kapt { generateStubs = true }