草庐IT

Kotlin之find

find属于Kotlin的高阶函数find:查找符合条件的并返回第一个符合该条件的数据,若没有符合条件的则返回null。它跟filter的区别就是,filter返回的是结果集合,而find是找到第一个就返回。findLast:查找符合条件的并返回最后一个符合该条件的数据。vallistOf=listOf("a","b","c")valfind:String?=listOf.find{it=="a"}//找到"a"就返回了当前的String类型的"a"valfindLast:String?=listOf.findLast{it=="a"}

Kotlin:使用对象VS类范围

我有一些数据类,这很短,因此我将它们分组在一起。我可以按原样在kotlin文件中定义它们,但希望它是类/对象中的范围,因此该文件不仅是文件,而且是在类/对象下进行的,用于更好地分组我可以objectModel{dataclassResult(valquery:Query)dataclassQuery(valsearchinfo:SearchInfo)dataclassSearchInfo(valtotalhits:Int)}我也可以做classModel{dataclassResult(valquery:Query)dataclassQuery(valsearchinfo:SearchInfo

VsCode配置Kotlin运行环境

目录需求前置条件步骤问题一二结果需求设备上有一个AndroidStudio但是太大了,于是就想着用VSCode配置一个轻量级的,而且VSCode里面好多插件我用着也比较舒服.前置条件JavaJDK1.8或者11 别的版本没试过有基于AndroidStudio的Kotlinc的环境步骤在VSCode中下载CodeRunner和KotlinLanguage两个插件在环境变量path中添加AndroidStudio中的Kotlinc/bin的路径问题一 Win+Rcmd打开命令行输入kotlinc-version检查 这种就是正常了如果不是那90%的可能是JavaJDK配置或者版本有问题二如果输出面

kotlin学习日志二

listOf()表示一个不可变的集合,比如vallist=listOf("java","kotlin"),只能读取,不能添加,修改或者删除操作mutableListOf()表示一个可变的集合表示mapOf()跟mutableMapOf()与前面的同理,例如创建map集合的方式valmap=mapOf("map"to1,"map1"to2),表示往map集合里面添加key为map,value为1的键值对遍历map的方式为image.pngLambda表达式的语法结构{参数名1:参数类型,参数名2:参数类型->函数体}image.png->表示参数类型的结束已经函数体的开始,函数体中可以编写任意代

Android 设置Padding和Margin(动态/静态)

一、什么是padding,什么是margin?在Android界面开发时,为了布局更加合理好看,很多时候会用上Padding和Margin,padding和margin是什么呢?即内边距和外边距;某个View指定为padding是针对该View里面的子View距离该View距离而言的,或者是里面的内容距离容器的距离。某个View指定为margin是针对该View本身距离别人或者父View而言的。例如下图,输入框里面的文字内容,如果不设置内边距,那么就会紧挨左上角,这样看起来,就很不友好,合理的设置padding看起来会舒服很多。如果,不设置外边距,会充满整个父布局,也不好看,这时候就需要mar

Android 设置Padding和Margin(动态/静态)

一、什么是padding,什么是margin?在Android界面开发时,为了布局更加合理好看,很多时候会用上Padding和Margin,padding和margin是什么呢?即内边距和外边距;某个View指定为padding是针对该View里面的子View距离该View距离而言的,或者是里面的内容距离容器的距离。某个View指定为margin是针对该View本身距离别人或者父View而言的。例如下图,输入框里面的文字内容,如果不设置内边距,那么就会紧挨左上角,这样看起来,就很不友好,合理的设置padding看起来会舒服很多。如果,不设置外边距,会充满整个父布局,也不好看,这时候就需要mar

Kotlin的5种单例模式

前言最近在学习Kotlin这门语言,在项目开发中,运用到了单例模式。因为其表达方式与Java是不同的。所以对不同单例模式的实现进行了分别探讨。主要单例模式实现如下:饿汉式懒汉式线程安全的懒汉式双重校验锁式静态内部类式PS:该篇文章不讨论单例模式的运用场景与各种模式下的单例模式的优缺点。只讨论在Java下不同单例模式下的对应Kotlin实现。一、饿汉式实现//Java实现publicclassSingletonDemo{privatestaticSingletonDemoinstance=newSingletonDemo();privateSingletonDemo(){}publicstati

android 自定义车牌键盘(kotlin)

android自定义车牌键盘(kotlin)前言示例图实现需求定义键盘文件核心代码视频效果汉字转化项目链接前言平时停车缴费都要填车牌号码,就想着自己能不能也做个车牌键盘demo。自定义车牌键盘能满足(普通车牌,新能源,警车,军车,领事馆车,教练车以及特种车辆等车牌)示例图实现需求1、车牌前两位默认是:粤A2、第一个控件,默认是省份键盘3、剩下控件,默认是abc键盘4、当前输入框输完后能自动跳转到下个控件5、当前输入框有选中背景,其他的没有定义键盘文件在res文件夹下创建xml文件夹,创建省份键盘(province.xml)和abc键盘(abc.xml)province.xmlKeyboardx

java - 如何获取枚举的可能项目数?

是否有一种内置方法可以使用Myenum.length,之类的方式获取Enum的项目数或者我是否必须自己实现一个函数intsize()硬编码元素的数量? 最佳答案 是的,您可以使用Enum.values()方法获取枚举值数组,然后使用length属性。publicclassMain{enumWORKDAYS{Monday,Tuesday,Wednesday,Thursday,Friday;}publicstaticvoidmain(String[]args){System.out.println(WORKDAYS.values().l

java - 如何获取枚举的可能项目数?

是否有一种内置方法可以使用Myenum.length,之类的方式获取Enum的项目数或者我是否必须自己实现一个函数intsize()硬编码元素的数量? 最佳答案 是的,您可以使用Enum.values()方法获取枚举值数组,然后使用length属性。publicclassMain{enumWORKDAYS{Monday,Tuesday,Wednesday,Thursday,Friday;}publicstaticvoidmain(String[]args){System.out.println(WORKDAYS.values().l