草庐IT

kotlin.notimplementederror

全部标签

kotlin - 扩展方法和扩展属性是不好的做法吗?

所以如果扩展方法和扩展属性真的是静态方法和属性。并且静态方法和属性和方法不是线程安全的,因此应该避免扩展方法和扩展属性是不好的。我们只是被欺骗了,因为我们编写的代码看起来很漂亮或干净,但在性能方面却不是。这是真的吗? 最佳答案 这取决于您如何编写扩展函数/属性。如果他们不编辑或访问共享状态,即如果属性和功能是明确的功能:这绝对不是坏习惯。示例1:funString.countSpaces():Int{returnthis.count{c->c==''}}此函数在多线程环境中完美运行,因为String是不可变的。示例2:datacla

intellij-idea - Kotlin 验证错误 : Uninitialized object exists on backward branch 90

我正在使用Kotlingettingstartedguide首次在IntelliJIDEA上设置Kotlin,配置如下:IntelliJIDEA2017.2.5Build#IC-172.4343.14,builtonSeptember26,2017JRE:1.8.0_152-release-915-b12x86_64JVM:OpenJDK64-BitServerVMbyJetBrainss.r.oMacOSX10.11.6我在一个新的Kotlin项目中创建了一个App.kt文件,代码如下:funmain(args:Array){println("hello")}在通过IDE运行代码时,

java - Kotlin 数据类打包

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭4年前。ImprovethisquestionKotlin引入了数据类的奇妙概念。这些类将派生equals()/hashCode()、toString()、getters()/setters()和>copy()函数基于构造函数中声明的属性:数据类KotlinUser(valname:String,valage:Int)在Java中,这看起来像:publicclassJavaUser{publicJavaUser(Stringname,

Kotlin - Void vs. Unit vs. Nothing

Kotlin有三种性质非常相似的类型:无效单位什么都没有似乎他们犯了JavaScript错误:null未定义void(0)假设他们没有陷入同样的​​错误,他们都是为了什么,他们有什么不同? 最佳答案 Void类型来自Java。您通常不会在Kotlin中使用它,除非您正在使用一些使用它的Java库。Unit类型是您从不返回任何感兴趣的函数的函数返回的内容。这样的功能通常会执行某种副作用。单位类型只有一个可能的值,即theUnitobject.当您在Java中使用void(小写v)时,您在Kotlin中使用Unit作为返回类型。Noth

android - 在 APK META-INF/library_release.kotlin_module 中复制的重复文件

我最近通过JitPack添加了两个Android库,出现如下错误:DuplicatefilescopiedinAPKMETA-INF/library_release.kotlin_module我已清除缓存并尝试使用排除模块excludegroup:'org.jetbrains'和excludegroup:'org.jetbrains.kotlin'但似乎都没有解决问题。有什么方法可以阻止通过JitPack添加kotlinstdlib?奇怪的是,像DbFlow这样的其他库没有这个问题,尽管我没有看到它们的设置有什么特别之处(除了它不是通过JitPack实现的)

arrays - Kotlin - 如何将字符串转换为字节数组

我正在尝试在Kotlin中将String转换为ByteArray。在Java中我们可以使用getBytes()方法进行转换。 最佳答案 你这样做:valtestVal="GoodMorning"valbytes=testVal.toByteArray() 关于arrays-Kotlin-如何将字符串转换为字节数组,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/47546127/

android - 当 Kotlin 中的数据发生变化时,如何在 RecyclerView 中重新绑定(bind)项目?

我自定义了一个RecyclerView类,它将显示valbackupItemList:List的内容在代码B中的Kotlin中现在我在RecyclerView类外面修改backupItemList的数据,我认为CodeD会在UI中显示最新的数据,但是我失败了,UI仍然是显示旧的数据。我必须使用CodeC来显示最新数据。代码D有什么问题?代码AclassUIMain:AppCompatActivity(){overridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setContent

带有迭代器函数的 Kotlin 无限序列

我对如何在Kotlin中创建无限序列以用于惰性求值感到困惑。在Java中:IntStream.iterate(0,i->i+2).limit(100).forEach(System.out::println);但序列似乎比Java流更令人困惑。序列构造函数非常令人困惑,因为它说:/***Givenan[iterator]functionconstructsa[Sequence]thatreturnsvaluesthroughthe[Iterator]*providedbythatfunction.*Thevaluesareevaluatedlazily,andthesequenceis

operators - Kotlin:一元加/减运算符对数字有什么作用?

我注意到在Kotlin中已经为所有数字类型定义了unaryPlus和unaryMinus运算符。这些运算符的目的是什么?它们是否以某种方式连接到inc和dec的前缀形式? 最佳答案 其他人已经定义了unaryMinus的基本含义和unaryPlus,实际上在数字类型上,它们实际上甚至可能不被称为函数。例如,编码+x或x.unaryPlus()生成相同的字节码(其中x是类型Int):ILOAD1ISTORE2还有代码-x或x.unaryMinus()生成相同的字节码:ILOAD1INEGISTORE2但还有更多事情要做……那么为什么编

intellij-idea - 如何调试 Kotlin 序列/集合

取如下单行,可以表示为对集合或序列的一系列操作:valnums=(10downTo1)//.asSequence()ifwewantthistobeasequence.filter{it%2==0}.map{it*it}.sorted()//.asList()ifdeclaringitasequenceprintln(nums)//[4,16,36,64,100]假设我想在每个步骤中查看元素,它们将是(来自演绎):[10,9,8,7,6,5,4,3,2,1][10,8,6,4,2][100,64,36,16,4][4,16,36,64,100]不幸的是,没有好的方法可以使用调试器进行调