Tag: Java

有没有可能在Kotlin中使用println作为函数引用

在Java 8和9中,可以将方法引用打印到控制台,例如: List.of(1, 2, 3).forEach(System.out::println); 在Kotlin中,我没有find使用方法引用打印到控制台的方法。 我试图翻译这个使用函数引用: listOf(1, 2, 3).forEach { println(it) } 至: listOf(1, 2, 3).forEach { ::println } 但是我得到这个错误: Overload resolution ambiguity. All these functions match. @InlineOnly public inline fun println(): Unit defined in kotlin.io @InlineOnly public inline fun println(message: Any?): Unit defined in kotlin.io @InlineOnly public inline fun println(message: Boolean): Unit defined […]

在Android Java / Kotlin中,是否实现了一个接口直接访问嵌套类的本地variables

在Android Java / Kotlin中,是否实现了一个接口直接访问嵌套类的本地variables。 更具体地说,当访问嵌套类的局部variables时,它们通过值或引用传递给接口。

gRPC protobuf不能用kotlin编译(Android Studio 3.0)

我创建了一个gRPC项目,与https://github.com/grpc/grpc-java/tree/master/examples/android/helloworld中用于android项目的示例gRPC非常相似 我第一次得到我自己的项目与我自己的简单的.proto文件编译没有任何错误。 我只是复制和粘贴所有重要的build.gradle部分。 下面的版本改变了我的MainActivity Kotlin代码。 但现在,我已经添加了一些更多的我的.proto文件,Gradle无法建立我的项目。 .proto文件是正确的,我已经尝试添加它作为依赖compileDebugKotlin {}和compileReleaseKotlin {}但没有任何工作。 我得到以下错误消息,任务:generateDebugProto未定义。 但我很困惑,因为当我添加一个换行符到我的build.gradle并单击在Android Studio中立即同步时,Gradle同步成功完成,并在gradle日志中看到以下几行: :app:extractDebugProto :app:extractIncludeDebugProto :app:extractProto :app:generateDebugProto 我做错了什么? 我的项目build.gradle // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { ext.kotlin_version = ‘1.2.0’ repositories { google() jcenter() } dependencies { classpath ‘com.android.tools.build:gradle:3.0.1’ classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” classpath “com.google.protobuf:protobuf-gradle-plugin:0.8.3” // NOTE: Do not place […]

有没有办法来注释kotlin对象的INSTANCE字段?

我有一个Kotlin对象,有几个字段暴露为静态@JvmFields 。 我使用的解析器(我无法编辑或更改)查找public static字段并基于这些创建配置文件。 由于INSTANCE字段也是公共的,因此解析器将生成一个名为instance的新类别。 有没有办法将实际的注释添加到INSTANCE字段? 我想将@Ingore注释添加到它,所以解析器不使用INSTANCE字段。

Kotlin Twitter Outh-Signature

我试图得到一个有效的oaut签名,但我无法做到这一点。 我在网上搜索了一段时间,发现了一些有用的网站,但即使有90%的代码,它不工作。 我已经有了消费者密码,消费者密码,访问令牌和令牌密码。 我创建了我已经拥有的所有参数(NameValuePair)的列表,并在我对它们中的每一个进行百分比编码之后,通过键对它们进行排序。 然后我建立基本上是百分比编码的汇总的签名基本字符串。 随着消费者的秘密和令牌的秘密也编码和合并与他们之间的“&”我扔在HMAC-SHA1函数签名基础字符串和新创建的密钥混合字符串。 该函数的结果是一个byteArray,然后转换为一个字符串并用作oauth_signature。 但它没有工作。 我不能进一步调试,因为我刚开始一个HTTP请求后得到一个401 HTTP错误授权请求。 有什么建议么 ? private fun generateNonce(): String { val random = Random() return java.lang.Long.toString(Math.abs(random.nextLong())) + System.currentTimeMillis() } private fun generateSignature(signatueBaseStr: String, oAuthConsumerSecret: String, oAuthTokenSecret: String?): String { var byteHMAC: ByteArray? = null try { val mac = Mac.getInstance(“HmacSHA1”) val spec: SecretKeySpec spec = if (null == […]

Java / Kotlingenerics

我有一个模板/generics的问题。 这是我目前的代码 data class RealmWatcher( val results: RealmResults, val handler: (RealmResults) -> Unit) 然后在Android片段中使用它来侦听特定的结果并根据更改执行操作。 所以我们以此为例 private val realmListener = arrayOf( RealmWatcher(Realm.getDefaultInstance().where(Notification::class.java).equalTo(“isNew”, true).findAll(), { n: RealmResults -> // DO STUFF }) 我正在做这个片段的开始/停止 override fun onResume() { super.onResume() // start listening and execute realmListener.forEach { it.handler(it.results) } realmListener.forEach { it.results.addChangeListener(it.handler) } } override fun onPause() { // […]

我怎样才能实例java类像A:扩展B在kotlin中实现C.

我有这样的Java类: public class SomeClass { public SomeClass(T a, T b) {} } class A extends ClassA implements InterfaceA{} class B extends ClassA implements InterfaceA{} 我试图在下面的kotlin中创建SomeClass的一个实例,但我得到一个编译错误: “感染typesAny!不是ClassA的子types” 但我知道如何解决它。 下面的A和B扩展了ClassA并实现了InterfaceA 。 val someClass = SomeClass(A(), B()) 有人可以帮忙吗?

燃料,Kotlin,Gson,预计BEGIN_ARRAY,但在BEGIN_OBJECT第1行

我试图解析一个JSON字符串,如下所示: { “count”: 1, “items”: [ { “organization_id”: 6972979, “organization_name”: “Lorem ipsum dolor sit amet, consectetur adipisicing elit”, } ] } 和Kotlin课堂: class LoremModel { var count: Int? = null var items: List? = null class Lorem { var organization_id: Int? = null var organization_name: String? = null constructor(organization_id: Int?, organization_name: String?) { this.organization_id = […]

使用Kotlin的数字操作是否像Java原语一样快?

Java有原始语言,因为使用它们会导致比基于类的对应语言更高效,可读和更少错误的代码 。 Kotlin是否执行编译时优化以确保编号操作与Java基元相同(或更好)的性能?

Kotlin kotlinClass.class.getName()不能返回包名,而只能返回简单的类名

AClass.class.getName(); 如果AClass是一个java类,这个方法将返回包名和类名。 但是当我将AClass java文件转换为Kotlin文件时,它只会返回一个类名。 所以系统找不到这个类的路径 上面的代码