Kotlin
学习
社区
在线试用
点击运行
Kotlin 在线工具
Java转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
package ch08.ex3_1_2_ReturnInLambdas1 data class Person(val name: String, val age: Int) val people = listOf(Person("Alice", 29), Person("Bob", 31)) fun lookForAlice(people: List
) { people.forEach { if (it.name == "Alice") { println("Found!") return } } println("Alice is not found") } fun main(args: Array
) { lookForAlice(people) }
未运行...