草庐IT

kotlin-stdlib-jdk

全部标签

Kotlin反射访问androidx.collection.LruCache类私有变量

Kotlin反射访问androidx.collection.LruCache类私有变量androidx.collection.LruCache类中定义了一个名为map的LinkedHashMap,map存储了所有LruCache的数据,有时候需要遍历访问该LinkedHashMap,取出里面的值,但是LruCache代码实现中,map为private私有,且无get方法返回,所以需要通过反射访问。 比如:importjava.lang.reflect.Fieldfunmain(){valmyLruCache=make()vallruCache=myLruCacheasLruCachelruCa

【采坑记录】kotlin compiler embeddable 下载超级慢

今天碰到一个奇怪的问题:在家里用自己的电脑更新下公司的项目,突然发现重新构建工程时一直在跑下载kotlincompilerembeddable的task,期间打了两把王者农药还没跑完就离谱,于是尝试了如下方案。尝试方案1:gradle配置阿里云仓库当时我是这样想的:kotlincompilerembeddable这玩意估计要🪜否则下载慢,因此尝试在gradle中添加了国内的阿里云仓库,奈何等了一会还是不行~后来看了下gradle下载kotlincompilerembeddable时版本是1.7.10而阿里云上最高1.4。应该是无法从阿里云仓库找到目标版本继而继续从maven中下载嘞。尝试方案2

kotlin flow 定时任务

要在Kotlin的Flow中定时广播数据,可以使用Kotlin的协程库中的delay函数和while循环结合使用。以下是一个简单的示例代码,每秒钟向Flow发送一个数字:kotlinCopycodeimportkotlinx.coroutines.delayimportkotlinx.coroutines.flow.Flowimportkotlinx.coroutines.flow.flowfuntimerFlow():Flow=flow{vari=0while(true){emit(i)delay(1000)//延迟1秒i++}}该代码定义了一个名为timerFlow的函数,该函数返回一个F

kotlin扩展函数

一.概念Kotlin的扩展函数是一种特殊的函数,允许在不修改原始类定义的情况下向现有类添加新的函数。扩展函数可以像普通函数一样使用,并且可以在任何地方调用。定义一个扩展函数,可以使用以下语法:funClassName.functionName(parameters...){//Functionbody}其中ClassName是要扩展的类的名称,functionName是要添加的函数的名称,parameters是该函数的参数列表。在函数体内,可以像访问类的成员一样访问该类的属性和方法。二.示例1.string示例例如,假设您要向String类添加一个名为reverse的函数,该函数将字符串反转并

Linux系统安装并配置jdk1.8

1.上传jdk将下载的jdk上传到服务器的指定目录,例如:usr/local。2.解压jdktar-xvfjdk-8u161-linux-x64.tar.gz如果是.zip格式的压缩包,使用unzip压缩包名称。解压后可看到解压出来的文件。3.设置权限chmod-R777文件夹路径例如:chmod-R777/usr/local/jdk1.8.0_1614.配置环境变量编辑profile文件命令:vim/etc/profile。大写G直接跳到最后。添加下面代码,配置环境变量,注意要对应版本号。JAVA_HOME=/usr/local/jdk1.8.0_161JAVA_BIN=$JAVA_HOME

一个帮助Java开发者快速学会Kotlin的文章

今天有个小伙伴来问小灰,说自己JAVA用的贼溜,想再学习下Kotlin,问小灰上手难不难?怎么说呢?其实我一直觉得语言这方面,是触类旁通、一通百通的,既然JAVA已经贼溜了,想必学其他的语言也一定事半功倍。不过呢,如果有好的辅助,肯定就更加容易学会啦,今天小灰就和大家写一篇对比展示Java和Kotlin两种语言在语法上不同地方的文章,可以快速帮助会JAVA的小伙伴掌握Kotlin的编写技巧!废话不多说,说完这句我就滚,用最实际的代码来展示不同之处。打印日志JavaSystem.out.print("i小灰");System.out.println("i小灰");Kotlinprint("i小灰

JDK8到JDK17有哪些吸引人的新特性?

作者:京东零售 刘一达前言2006年之后SUN公司决定将JDK进行开源,从此成立了OpenJDK组织进行JDK代码管理。任何人都可以获取该源码,并通过源码构建一个发行版发布到网络上。但是需要一个组织审核来确保构建的发行版是有效的,这个组织就是JCP(JavaCommunityProcess)。2009年,SUN公司被Oracle公司"白嫖"(参考2018年Google赔款),此时大家使用的JDK通常都是Oracle公司的OpenJDK构建版本-OracleJDK。但是,Oracle公司是一个明显只讲商业而不管情怀的公司,接手Java商标之后,明显加快了JDK的发布版本。2018年9月25日,J

JDK8到JDK17有哪些吸引人的新特性?

作者:京东零售 刘一达前言2006年之后SUN公司决定将JDK进行开源,从此成立了OpenJDK组织进行JDK代码管理。任何人都可以获取该源码,并通过源码构建一个发行版发布到网络上。但是需要一个组织审核来确保构建的发行版是有效的,这个组织就是JCP(JavaCommunityProcess)。2009年,SUN公司被Oracle公司"白嫖"(参考2018年Google赔款),此时大家使用的JDK通常都是Oracle公司的OpenJDK构建版本-OracleJDK。但是,Oracle公司是一个明显只讲商业而不管情怀的公司,接手Java商标之后,明显加快了JDK的发布版本。2018年9月25日,J

Android 安卓开发语言kotlin与Java该如何选择

一、介绍        如今在Android开发中,应用层开发语言主要是Java和Kotlin,Kotlin是后来加入的,主导的语言还是Java。kotlin的加入仿佛让会kotlin语言的开发者更屌一些,其实不然。        有人说kotlin的引入是解决开发者复杂的逻辑,并且对空指针控制的比较友好,但是我们在开发过程中会发现,好像并不是这么回事,甚至有些开发者发现,在使用过程中会出现莫名其妙的错误,而且还不好定位。        这时候,我们应该去分析,kotlin适不适合自己,自己能不能驾驭?二、分析Java与kotlin实战中的利与弊        学过政治都知道,任何东西都是一把

Mac M2配置JDK环境以及切换JDK版本

查看本机JDK安装路径以及版本情况/usr/libexec/java_home-v获取指定JDK版本的安装路径/usr/libexec/java_home-v11注:多个相同版本情况下,需指定具体的版本号终端执行相关命令进行配置JDK修改~/.zshrc配置,配置如下:#设置JDK8exportJAVA_8_HOME=`/usr/libexec/java_home-v1.8.0_333`#设置JDK11exportJAVA_11_HOME=`/usr/libexec/java_home-v11`#默认JDK11exportJAVA_HOME=$JAVA_11_HOME#alias命令动态切换J