小编F. *_*rge的帖子

什么是Kotlin的"接收器"?

它与扩展功能有什么关系?为什么是with 函数,而不是关键字?

似乎没有关于这个主题的明确文档,只有参考扩展的知识假设.

kotlin

58
推荐指数
6
解决办法
8591
查看次数

KDoc:插入代码段

如何在Kotlin的默认文档工具KDoc中插入代码片段?

在Java中,我可以使用以下内容:

/**
 * Example usage:
 *
 * <pre>
 * <code>&#64;JavaAnnotation
 * public void foo() {
 *     // Code
 * }
 * </code>
 * </pre>
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface JavaAnnotation {}
Run Code Online (Sandbox Code Playgroud)

Kotlin似乎没有相应的东西.我尝试使用Markdown,但在行结束后插入2个空格不会换行.

documentation kotlin kdoc

20
推荐指数
1
解决办法
2242
查看次数

Kotlin,针对Java互操作:惰性收集的惯用类型?

在定位Java互操作时,应该使用什么类型的惰性集合?

  • Sequence<T> 对于Kotlin调用者来说最有意义,因为默认情况下它的延伸函数是懒惰的,但强制Java调用者处理Kotlin stdlib类型并手动转换序列迭代器(序列不会扩展迭代!)
  • Iterable<T> 由于for循环中的隐式使用,Java调用者有意义,但会导致毫无疑问的Kotlin调用者由于非延迟扩展函数而意外丢弃懒惰
  • Stream<T> 对于Java和Kotlin调用者来说都是最佳的,但可能有开销并且是Java 8+(Kotlin目标6+)

lazy-evaluation kotlin kotlin-interop

7
推荐指数
1
解决办法
155
查看次数

如果我从来不打算让我的类在基于哈希的集合中使用,我是否应该在 hashCode() 中抛出 UnsupportedOperationException?

HashMap这是一个很好的设计模式来强制一个类不在任何基于散列的集合( 、、HashSet等)中使用,或者这可能会产生意想不到的后果吗?

class DoNotUseInHashBasedCollection {
    @Override
    public int hashCode() {
        throw new UnsupportedOperationException();
    }
}
Run Code Online (Sandbox Code Playgroud)

java hashcode unsupportedoperation

5
推荐指数
0
解决办法
191
查看次数