1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 Kotlin 1.0 RC 发布,基于 JVM 的编程语言 下载

Discussion in '软件资讯' started by 漂亮的石头, 2016-02-05.

  1. 漂亮的石头

    漂亮的石头 版主 Staff Member

    Joined:
    2012-02-10
    Messages:
    487,404
    Likes Received:
    47
    Kotlin 1.0 RC 发布,更新如下:


    • Language


      • new @delegate: use-site target for annotation (e.g. @delegate:Transient)


      • private top-level Kotlin classes should be compiled to package private java classes


      • unfinished multiline comment is an error


      • previously deprecated language constructs are now errors


      • type ckecking for use-site variance fixed


      • generic functions are compared for specificity through solving a constraint system


      • having multiple vararg parameters for one function is prohibited


      • super-calls to functions with default parameters are prohibited (pass all arguments explicitly)


      • implicit receiver behavior fixed


      • as-import removes original names if they were imported before


      • user code is not allowed in kotlin.** packages


      • type parameters of extension properties allowed to be indirectly used by the receiver type


      • members of private classes can-not be accessed from non-private inline functions

    • Java interop


      • forEach from Kotlin's library is preferred to forEach from java.lang.Iterable


      • synthesized declarations (like JavaBeans properties and SAM-converted methods) are now resolved on par with members


      • support added for Java setters that return values


      • previously depreacted Java declarations removed from generated code


      • private setters allowed for lateinit properties


      • wildcards are not generated for redundant type projections (use List<@JvmWildcard Foo> instead of List<out Foo>)


      • @Nullable/@NotNull annotations from different standard Java packages recognized (javax.annotations, Guava, Android, etc)

    • Standard Library


      • diagnostics for multiple conflicting Kotlin runtime versions in classpath


      • some functions have been made inline


      • many inline functions (most of them one-liners) can no longer be called from Java code. This will help us reduce the size of the runtime library in the future.


      • library code rearranged into more granular packages (no source changes should be required)


      • associate and associateBy are added to aid construction of maps associate and associateBy (instead of toMap/toMapBy)


      • groupBy with key- and value-selector functions


      • Map.getOrElse() and Map.getOrPut() now treat keys associated with null values as missing.


      • Map.getOrImplicitDefault() has been made internal


      • mutableListOf, mutableSetOf, mutableMapOf added to construct mutable collections. linkedListOf is deprecated


      • toMutableList added instead of toArrayList. The latter is deprecated


      • kotlin.system.exitProcess instead of System.exit


      • File.deleteRecursively only returns false in case of incomplete deletion


      • File.copyRecursively allows overwriting by specifying argument overwrite=true


      • changed File.copyTo behavior to be like Files.copy from JDK8.


      • more specific return type for File.inputStream, File.outputStream, String.byteInputStream.


      • IO utility functions taking charset name as a string are deprecated, use ones with Charset parameter.


      • File.useLines and Reader.readLines are introduced


      • File.(buffered)reader/writer now return less specific InputStreamReader/OutputStreamWriter and use UTF-8 encoding by default


      • Sequence and Iterable SAM constructor-like functions


      • Comparator- and comparison-related functions are moved to kotlin.comparisons package (not imported by default)


      • new properties in MatchResult: groupValues and destructured — provided for easier handling of regular expression match results


      • Lazy is now an interface open for implementation


      • kotlin.system.measureTimeNano renamed to measureNanoTime.


      • plusElement and minusElement functions as a synonyms for list + element and list - element.


      • kotlin.test.assertFailsWith with Class<T> parameter is deprecated, use an overload with KClass<T>.


      • toLinkedMap is deprecated.


      • UTF_32 charset properties added to Chatsets

    • Tools


      • To enable Android Extensions, use: apply plugin: 'kotlin-android-extensions'

    • IDE


      • Intention to replace iteration over map entries with a loop using a destructuring declaration


      • Inspection and quickfix to cleanup redundant visibility modifiers


      • Inspection to replace 'assert' calls checking that a variable is not null with !! or ?: error(...)


      • Show "Kotlin not configured" notification when opening a .kt file in the IDE if the Kotlin runtime is not configured for the corresponding module


      • Action to generate the toString() method


      • Support for implementing members by primary constructor parameters


      • Parameter info popup works for showing type parameters


      • Completion offers name variants based on unresolved identifiers in current file


      • Quickfix for adding missing branches to a when expression


      • Support for moving nested classes to the upper level or into another top-level class


      • @Suppress now works for IDE inspections

    详情请看:发行说明

    下载:here

    Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。

    其主要设计目标:


    • 创建一种兼容Java的语言


    • 让它比Java更安全,能够静态检测常见的陷阱。如:引用空指针


    • 让 它比Java更简洁,通过支持variable type inference,higher-order functions (closures),extension functions,mixins and first-class delegation等实现。


    • 让它比最成熟的竞争对手Scala语言更加简单。
    Kotlin 1.0 RC 发布,基于 JVM 的编程语言下载地址
     
Loading...