草庐IT

kotlin-exposed

全部标签

c# - FxCop 投诉 : Exposed concrete xml types and a bad improvement

我想保存某些类,因为在我的情况下xml序列化不会这样做,所以我将这些值手动保存到xml文档中。工作正常,但FxCop不喜欢它,因为FxCop通常会给出很好的建议和我不应该以某种方式做事的原因,我试图让它开心。这一次,我不明白这是怎么改进的。这是我的:publicvoidSave(){XmlDocumentdoc=newXmlDocument();XmlNodeXmlNodeJob=doc.CreateElement("Job");doc.AppendChild(XmlNodeJob);OtherclassSave2(XmlNodeJob);//NodeasParameter}publi

c# - 最佳实践 : How to expose a read-only ICollection

我有一个ICollection称为foos在我想公开为只读的类中(参见thisquestion)。我看到接口(interface)定义了一个属性.IsReadOnly,这似乎是合适的......我的问题是:我如何让类(class)的消费者明白foos是只读的?我不想依赖他们记住查询.IsReadOnly在尝试未实现的方法之前,例如.Add().理想情况下,我想公开foos作为ReadOnlyCollection,但它没有实现IList.我应该公开foo吗?通过一个名为的方法,例如GetReadOnlyFooCollection而不是通过属性(property)?如果是这样,这不会让那些

c# - Visual Studio 代码分析规则 - "Do not expose generic lists"

Donotexposegenericlists如果我所有的方法都需要公开一个集合,那么我需要使用LinqExtension.ToList(),几乎所有我需要使用列表的地方,或者我所有代码中的用户集合。如果是这样的话,.ToList()是在忽略规则吧?或者是否有一种技术,例如复制列表o来解决违规问题并仍然返回列表? 最佳答案 我禁用了该规则,因为我觉得它无效。如果你想返回一个包含O(1)的集合count并且不是对内部字段的直接引用,List是最好的选择。我不太了解您的情况,但听起来您有一种方法可以返回对某些内部数据的LINQ查询。如果

java - Kotlin:如何在 Java 中使用委托(delegate)属性?

我知道您不能在Java中使用委托(delegate)属性语法,也不会像在Kotlin中那样享受“覆盖”set/get运算符的便利,但我仍然想使用现有的属性委托(delegate)在Java中。例如,一个简单的int委托(delegate):classIntDelegate{operatorfungetValue(thisRef:Any?,property:KProperty)=0}当然,在Kotlin中我们可以这样使用它:valxbyIntDelegate()但是我们如何在Java中以某种形式使用IntDelegate呢?这是开始,我相信:finalIntDelegatex=newIn

java - 通过 Java 扩展 Kotlin 类需要我重新实现已经实现的方法

演示该问题的最简单代码是:Kotlin中的主界面:interfaceBase{fungo(field:T)}实现它的抽象类和方法:abstractclassImpl:Base{overridefungo(field:Int){}}Java类:publicclassJavaImplextendsImpl{}它应该可以工作,但实际上没有。错误是Class'JavaImpl'musteitherbedeclaredabstractorimplementabstractmethod'go(T)'in'Base'如果JavaImpl类在Kotlin中,它就可以工作。此外,如果将T转换为Strin

java - Gradle 5 Kotlin DSL : Common Tasks & Maven Artifacts in multi-modules projects

我真的很想欣赏Gradle5,尤其是与新的KotlinDSL结合使用,但我很难(在我看来)使用Gradle运行一个非常非常简单和通用的构建。任务发布一个Java库,其中包含Maven默认目录布局中的多个相互依赖的子模块作为高质量的MavenArtifact/存储库-point,简单的Gradle构建(即DRY)。因此:有一个根项目作为保护伞,它定义并包含所有通用配置(实际上除了真正的依赖项之外的所有配置)。我目前的挣扎我将当前的“结果”移植到asampleprojectonGithub和askedthisquestionintheGradleforumalready.目前,我未能声明在

java - 抑制 Java Findbugs 错误 (EI_EXPOSE_REP)

我有一个Javagettor方法,如下所示:importjava.util.Date;//...publicDategetSomeDate(){returnsomeDate;}并且Findbugs报告说这公开了一个可变对象:“可能通过返回对可变对象的引用来公开内部表示”。我将代码更改为:importjava.util.Date;//...publicDategetSomeDate(){returnnewDate(someDate.getTime());}但Findbug仍然报告相同的漏洞。我还能做些什么来抑制/解决这个问题?我在IntellJ10Findbugs插件中运行Findbug

Kotlin学习之路(六):继承

文章目录前言一.类的继承二.继承中的构造函数2.1继承中Java的构造函数2.2继承中Kotlin的构造函数2.3Kotlin多个构造函数的情况三.重写和重载3.1方法的重写3.2属性的重写四.super关键字4.1简单用法4.2复杂情况下的用法4.2.1子类重写方法中使用super4.2.2子类选择性调用父接口/父类的方法4.2.3子类内部类调用父类方法前言Kotlin的继承和Java的继承一样都是单继承,区别在于Kotlin用:来代替了extends一.类的继承Kotlin用:表示继承,Java用exteds表示继承。//父类PersonopenclassPerson()//子类Mancl

Kotlin相关面试题

目录一.请简述下什么是kotlin?它有什么特性?二.密封类与枚举的区别?三.Kotlin中注解@JvmOverloads的作用?四.Kotlin中的MutableList与List有什么区别?五.kotlin实现单例的几种方式?六.kotlin中关键字data的理解?相对于普通的类有哪些特点?七.什么是委托属性?简单说一下应用场景?八.kotlin中with、run、apply、let函数的区别?一般用于什么场景?九.kotlin中Unit的应用以及和Java中void的区别?十.Kotlin中infix关键字的原理和使用场景?十一. Kotlin中的可见性修饰符有哪些?相比于Java有什么

Kotlin 协程基础使用学习

原文:Kotlin协程基础使用学习-Stars-One的杂货小窝本篇阅读可能需要以下知识,否则可能阅读会有些困难客户端开发基础(Android开发或JavaFx开发)Java多线程基础kotlin基础本文尽量以使用为主,以代码为辅讲解,不提及过深协程底层代码逻辑,仅做一个基础入门来快速上手学习(断断续续写了好几个周,若是有错误之处也请在评论区提出😂)协程优点首先,先说下为什么使用协程吧协程得和线程进行比较可在单个线程运行多个协程,其支持挂起,不会使运行协程的线程阻塞。协程可以取消协程可以让异步代码同步化,其本质是轻量级线程,进而可以降低异步程序的设计复杂度。对于客户端的网络请求数据,以往写法都