Kotlin
学习 社区 在线试用
  • Kotlin in Action
    • ch01
      • 1.1_ATasteOfKotlin.kt
    • ch02
      • 2.1.1_HelloWorld.kt
      • 2.1.2_Functions.kt
      • 2.1.4_1_StringTemplates.kt
      • 2.1.4_2_StringTemplates1.kt
      • 2.1.4_3_StringTemplates2.kt
      • 2.2.1_2_Properties1.kt
      • 2.2.2_CustomAccessors.kt
      • 2.2.3_1_Rectangle.kt
      • 2.2.3_2_RectangleExample.kt
      • 2.3.1_Colors.kt
      • 2.3.1_DeclaringEnumClasses.kt
      • 2.3.2_1_WhenEnums.kt
      • 2.3.2_2_GetWarmth.kt
      • 2.3.2_3_WhenEnums2.kt
      • 2.3.3_UsingWhenWithArbitraryObjects.kt
      • 2.3.4_WhenWithoutArument.kt
      • 2.3.5_SmartCasts.kt
      • 2.3.6_1_EvalIf.kt
      • 2.3.6_2_IfToWhen1.kt
      • 2.3.7_WhenBlockBranch.kt
      • 2.4.2_1_FizzBuzz.kt
      • 2.4.2_2_RangesProgressions1.kt
      • 2.4.3_IteratingOverMaps.kt
      • 2.4.4_1_UsingAnInCheck.kt
      • 2.4.4_2_UsingAnInCheck1.kt
      • 2.5.1_TryCatchAndFinally.kt
      • 2.5.2_1_TryAsAnExpression.kt
      • 2.5.2_2_TryAsAnExpression1.kt
      • PersonUsage.java
    • ch03
      • 3.1_1_CreatingCollectionsInKotlin.kt
      • 3.1_2_CreatingCollectionsInKotlin1.kt
      • 3.2_1_MakingFunctionsEasierToCall.kt
      • 3.2_2_JoinToString.kt
      • 3.3.3_1_JoinToStringFinal.kt
      • 3.3.3_2_UtilityFunctionsAsExtensions1.kt
      • 3.3.3_3_UtilityFunctionsAsExtensions2.kt
      • 3.3.4_1_NoOverridingForExtensionFunctions.kt
      • 3.3.4_2_NoOverridingForExtensionFunctions1.kt
      • 3.3.5_ExtensionProperties.kt
      • 3.3_Extensions.kt
      • 3.4.2_Varargs.kt
      • 3.5.1_1_SplittingStrings.kt
      • 3.5.1_2_SplittingStrings1.kt
      • 3.5.2_1_ParsePath.kt
      • 3.5.2_2_RegularExpressionsAndTriplequotedStrings1.kt
      • 3.5.3_MultilineTriplequotedStrings.kt
      • 3.6_1_ValidateUser.kt
      • 3.6_2_LocalFunctionsAndExtensions1.kt
      • 3.6_3_LocalFunctionsAndExtensions2.kt
      • 3.6_4_LocalFunctionsAndExtensions3.kt
    • ch04
      • 4.1.1_1_InterfacesInKotlin.kt
      • 4.1.1_2_main.kt
      • 4.1.2_1_OpenFinalAbstractModifiers.kt
      • 4.1.2_2_OpenFinalAbstractModifiers1.kt
      • 4.1.4_1_Button1.kt
      • 4.1.4_2_InnerAndNestedClasses1.kt
      • 4.1.5_1_SealedClasses.kt
      • 4.1.5_2_SealedClasses1.kt
      • 4.2.1_InitializingClasses.kt
      • 4.2.3_1_ImplementingPropertiesDeclaredInInterfaces.kt
      • 4.2.3_2_ImplementingPropertiesDeclaredInInterfaces1.kt
      • 4.2.4_AccessingABackingFieldFromAGetterOrSetter.kt
      • 4.2.5_ChangingAccessorVisibility.kt
      • 4.3.1.1_StringRepresentationToString.kt
      • 4.3.1.2_1_ObjectEqualityEquals.kt
      • 4.3.1.2_2_ObjectEqualityEquals1.kt
      • 4.3.2.1_DataClassCopy.kt
      • 4.3.3_ClassDelegationUsingTheByKeyword.kt
      • 4.4.1_1_ObjectDeclarations.kt
      • 4.4.1_2_ObjectDeclarations1.kt
      • 4.4.2_1_CompanionObjects.kt
      • 4.4.2_2_CompanionObjects1.kt
    • ch05
      • 5.1.2_LambdasAndCollections.kt
      • 5.1.3.4_SyntaxForLambdaExpressions4.kt
      • 5.1.3_1_SyntaxForLambdaExpressions.kt
      • 5.1.3_2_SyntaxForLambdaExpressions1.kt
      • 5.1.3_3_SyntaxForLambdaExpressions2.kt
      • 5.1.3_4_SyntaxForLambdaExpressions3.kt
      • 5.1.4_1_AccessingVariablesInScope.kt
      • 5.1.4_2_AccessingVariablesInScope1.kt
      • 5.1.5_1_MemberReferences.kt
      • 5.1.5_2_MemberReferences1.kt
      • 5.2.1_1_FilterMap.kt
      • 5.2.1_2_FilterMap1.kt
      • 5.2.1_3_FilterMap2.kt
      • 5.2.1_4_FilterMap3.kt
      • 5.2.1_5_FilterMap4.kt
      • 5.2.2_1_AllAnyCountFind.kt
      • 5.2.2_2_AllAnyCountFind1.kt
      • 5.2.2_3_AllAnyCountFind2.kt
      • 5.2.3_1_GroupBy.kt
      • 5.2.3_2_GroupBy1.kt
      • 5.2.4_1_FlatMapFlatten.kt
      • 5.2.4_2_FlatMapFlatten1.kt
      • 5.3.1_1_ExecutingSequenceOperations.kt
      • 5.3.1_2_ExecutingSequenceOperations1.kt
      • 5.3.2_1_CreatingSequences.kt
      • 5.3.2_2_CreatingSequences1.kt
      • 5.4.2_SAMConstructors.kt
      • 5.5.1_1_Alphabet.kt
      • 5.5.1_2_TheWithFunction1.kt
      • 5.5.1_3_TheWithFunction2.kt
      • 5.5.2_1_TheApplyFunction.kt
      • 5.5.2_2_TheApplyFunction1.kt
    • ch06
      • 6.1.10_NullabilityOfTypeParameters.kt
      • 6.1.11.1_2_PlatformTypes1.kt
      • 6.1.1_NullableTypes.kt
      • 6.1.3_1_SafeCallOperator.kt
      • 6.1.3_2_SafeCallOperator1.kt
      • 6.1.3_3_SafeCallOperator2.kt
      • 6.1.4_1_ElvisOperator.kt
      • 6.1.4_2_ElvisOperator1.kt
      • 6.1.5_SafeCastsAs.kt
      • 6.1.6_NotnullAssertions.kt
      • 6.1.7_TheLetFunction.kt
      • 6.1.8_1_LateinitializedProperties.kt
      • 6.1.8_2_LateinitializedProperties1.kt
      • 6.1.9_ExtensionsForNullableTypes.kt
      • 6.2.1_PrimitiveTypes.kt
      • 6.2.2_NullablePrimitiveTypes.kt
      • 6.2.3_1_NumberConversions.kt
      • 6.2.3_2_NumberConversions1.kt
      • 6.2.3_3_NumberConversions2.kt
      • 6.2.6_NothingType.kt
      • 6.3.1_1_AddValidNumbers.kt
      • 6.3.1_2_NullabilityAndCollections1.kt
      • 6.3.2_ReadonlyAndMutableCollections.kt
      • 6.3.3_2_KotlinCollectionsAndJava1.kt
      • 6.3.5_1_Arrays.kt
      • 6.3.5_2_Arrays1.kt
      • 6.3.5_3_Arrays2.kt
      • 6.3.5_4_Arrays3.kt
      • 6.3.5_5_Arrays4.kt
      • CollectionUtils.java
      • Person.java
    • ch07
      • 7.1.1_1_PointPlusMember.kt
      • 7.1.1_2_PointPlusExtension.kt
      • 7.1.1_3_BinaryOperators2.kt
      • 7.1.1_4_BinaryOperators3.kt
      • 7.1.1_5_BinaryOperators4.kt
      • 7.1.2_1_CompoundAssignmentOperators.kt
      • 7.1.2_2_CompoundAssignmentOperators1.kt
      • 7.1.2_3_CompoundAssignmentOperators2.kt
      • 7.1.3_1_UnaryOperators.kt
      • 7.1.3_2_UnaryOperators1.kt
      • 7.2.1_EqualityOperators.kt
      • 7.2.2_1_OrderingOperators.kt
      • 7.2.2_2_OrderingOperators1.kt
      • 7.3.1_1_IndexOperator.kt
      • 7.3.1_2_IndexOperator1.kt
      • 7.3.2_InOperator.kt
      • 7.3.3_RangePriority.kt
      • 7.3.4_IteratorConvention.kt
      • 7.4.1_DestructuringDeclarationsAndLoops.kt
      • 7.4_1_DestructuringDeclarations.kt
      • 7.4_2_SplitFilename.kt
      • 7.4_3_DestructuringDeclarations2.kt
      • 7.5.2_1_LazyEmails.kt
      • 7.5.2_2_LazyInitialization1.kt
      • 7.5.3_1_ImplementingDelegatedProperties.kt
      • 7.5.3_2_ImplementingDelegatedProperties1.kt
      • 7.5.3_3_ImplementingDelegatedProperties2.kt
      • 7.5.3_4_ImplementingDelegatedProperties3.kt
      • 7.5.5_1_ExpandoObject.kt
      • 7.5.5_2_StoringPropertyValuesInAMap1.kt
    • ch08
      • 8.1.1_FunctionTypes.kt
      • 8.1.2_1_CallingFunctionsPassedAsArguments.kt
      • 8.1.2_2_CallingFunctionsPassedAsArguments1.kt
      • 8.1.3_1_ProcessTheAnswer.kt
      • 8.1.4_1_JoinToStringDefault.kt
      • 8.1.4_2_DefaultAndNullValuesForParametersWithFunctionTypes1.kt
      • 8.1.5_1_ReturningFunctionsFromFunctions.kt
      • 8.1.5_2_ReturningFunctionsFromFunctions1.kt
      • 8.1.6_1_RemovingDuplicationThroughLambdas.kt
      • 8.1.6_2_RemovingDuplicationThroughLambdas1.kt
      • 8.1.6_3_RemovingDuplicationThroughLambdas2.kt
      • 8.1.6_4_RemovingDuplicationThroughLambdas3.kt
      • 8.2.3_1_InliningCollectionOperations.kt
      • 8.2.3_2_InliningCollectionOperations1.kt
      • 8.2.5_UsingInlinedLambdasForResourceManagement.kt
      • 8.3.1_1_LookForAlice.kt
      • 8.3.1_2_ReturnInLambdas1.kt
      • 8.3.2_1_ReturnWithLabel.kt
      • 8.3.2_2_ReturningFromLambdas1.kt
      • 8.3.2_3_ReturningFromLambdas2.kt
      • 8.3.3_AnonymousFunctions.kt
      • ProcessTheAnswerAnonymous.java
      • ProcessTheAnswerLambda.java
      • UsingForEach.java
    • ch09
      • 9.1.1_1_GenericFunctionsAndProperties.kt
      • 9.1.1_2_GenericFunctionsAndProperties1.kt
      • 9.1.3_1_TypeParameterConstraints.kt
      • 9.1.3_2_TypeParameterConstraints1.kt
      • 9.1.3_3_TypeParameterConstraints2.kt
      • 9.2.1_1_GenericsAtRuntimeTypeChecksAndCasts.kt
      • 9.2.1_2_GenericsAtRuntimeTypeChecksAndCasts1.kt
      • 9.2.2_1_DeclaringFunctionsWithReifiedTypeParameters.kt
      • 9.2.2_2_DeclaringFunctionsWithReifiedTypeParameters1.kt
      • 9.3.1_WhyVarianceExists.kt
      • 9.3.5_1_CopyDataAny.kt
      • 9.3.5_2_CopyDataOut.kt
      • 9.3.5_3_CopyDataIn.kt
      • 9.3.6.2_1_printFirst.kt
      • 9.3.6.2_2_StarProjection1.kt
      • 9.3.6.2_3_FieldValidator.kt
      • 9.3.6.2_4_StarProjection3.kt
    • ch10
      • 10.2.1_1_ReflectionAPI.kt
      • 10.2.1_2_ReflectionAPI1.kt
      • 10.2.1_3_ReflectionAPI2.kt
      • 10.2.1_4_ReflectionAPI3.kt
    • ch11
      • 11.2.1_1_LambdasWithReceivers.kt
      • 11.2.1_2_LambdasWithReceivers1.kt
      • 11.2.1_3_LambdasWithReceivers2.kt
      • 11.2.1_4_LambdasWithReceivers3.kt
      • 11.2.2_1_HtmlTags.kt
      • 11.2.2_2_UsingLambdasWithReceiversInHTMLBuilders1.kt
      • 11.3.1_InvokeConvention.kt
      • 11.3.2_InvokeConventionAndFunctionalTypes.kt
      • 11.3.3_InvokeConventionInDSLs.kt
      • 11.4.2_ExtensionsOnPrimitiveTypes.kt
  • Koans
    • 00_Hello_World
      • HelloWorld.kt
    • 01_Java_To_Kotlin_Converter
      • JavaCode1java
      • JavaToKotlinConverter.kt
    • 02_Named_Arguments
      • NamedArguments.kt
    • 03_Default_Arguments
      • DefaultAndNamedParams.kt
      • JavaCode2java
    • 04_Lambdas
      • JavaCode3java
      • Lambdas.kt
    • 05_String_Templates
      • StringTemplates.kt
    • 06_Data_Classes
      • DataClasses.kt
      • JavaCode7.java
    • 07_Nullable_Types
      • JavaCode5java
      • NullableTypes.kt
    • 08_Smart_Casts
      • JavaCode6java
      • SmartCasts.kt
    • 09_Extension_Functions
      • ExtensionFunctions.kt
    • 10_Object_Expressions
      • ObjectExpressions.kt
    • 11_SAM_Conversions
      • SAMConversions.kt
    • 12_Extensions_On_Collections
      • ExtensionsOnCollections.kt
京ICP备17049819号 - Licensed under the Apache 2 license
Sponsored and developed by JetBrains 由灰蓝天际、晓_晨DEV 等译