<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[象牙山庄]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_37598663</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_37598663]]></copyright><item><title><![CDATA[Kotlin 集合系列]]></title><link>https://blog.youkuaiyun.com/m0_37598663/article/details/107899440</link><guid>https://blog.youkuaiyun.com/m0_37598663/article/details/107899440</guid><author>m0_37598663</author><pubDate>Sun, 09 Aug 2020 20:24:45 +0800</pubDate><description><![CDATA[1.创建集合
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tKOmtkVq-1596380268243)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/96668d69-74ea-4a33-90c5-eff8db36317d/2020-07-295.50.22.png)]
2.集合操作
2.1 Filter系列
filter系列的操作分为以下两类

filterXXX传入一个lambada并返回一个新]]></description><category></category></item><item><title><![CDATA[Kotlin高阶函数]]></title><link>https://blog.youkuaiyun.com/m0_37598663/article/details/107753437</link><guid>https://blog.youkuaiyun.com/m0_37598663/article/details/107753437</guid><author>m0_37598663</author><pubDate>Sun, 02 Aug 2020 23:00:54 +0800</pubDate><description><![CDATA[1. 基础
1.1 lambada
lambada是一个定义即使用的函数。在kotlin中，函数是一种普通的数据类型，如果函数类型作为另一个函数的参数，则称这个函数为高阶函数。如果一个lambada是一个普通函数中的最后一个参数，那么它可以写在参数括号的外面。
现在定义一个参数为String返回值为Int的lambada如下：
var lambada = { i:String -&gt;
    println("lambada calling")
    1
}

它的类型是
(kotlin.String]]></description><category></category></item><item><title><![CDATA[Kotlin中的by]]></title><link>https://blog.youkuaiyun.com/m0_37598663/article/details/107753377</link><guid>https://blog.youkuaiyun.com/m0_37598663/article/details/107753377</guid><author>m0_37598663</author><pubDate>Sun, 02 Aug 2020 22:58:49 +0800</pubDate><description><![CDATA[1.Lazy
使用场景：大对象延迟初始化、单例模式。
注意
//1.必须使用val生命by lazy的变量
val b:Biz by lazy { Biz() }
//2.参数
val bThreadSafe by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { Biz() }





LazyThreadSafetyMode





SYNCHRONIZED
双重锁单例


PUBLICATION
可以构造多次，仅返回唯一的一个


NONE
非线程安]]></description><category></category></item><item><title><![CDATA[写在2020.07.14]]></title><link>https://blog.youkuaiyun.com/m0_37598663/article/details/107348742</link><guid>https://blog.youkuaiyun.com/m0_37598663/article/details/107348742</guid><author>m0_37598663</author><pubDate>Tue, 14 Jul 2020 22:08:31 +0800</pubDate><description><![CDATA[1.为什么写博客
之前是在Github上使用hexo搭建了博客，比较简洁美观。有一说一，之前写博客完全是为了面试用的、多一个谈资。不过也确实积累了很多原创性的东西，对面试也确实有帮助。搬家到优快云，一方面是为了提高自己文章的曝光，一方面是有机会和下面评论的互动。
2.未来的规划
今年终于跳槽成功了，公司虽然不大，现在还没有入职，但是我感觉还不错。从原来对标应届生的薪资涨到了还算马马虎虎的薪水，我是一个特别讨厌跳槽的人，如果这个公司每年能稳定涨一点点就不会再跳槽了。除非在老家能找到合适的工作。
从我从一个野]]></description><category></category></item><item><title><![CDATA[Java泛型与类型擦除]]></title><link>https://blog.youkuaiyun.com/m0_37598663/article/details/107348071</link><guid>https://blog.youkuaiyun.com/m0_37598663/article/details/107348071</guid><author>m0_37598663</author><pubDate>Tue, 14 Jul 2020 21:32:10 +0800</pubDate><description><![CDATA[为什么出现泛型
早期Java没有泛型，每次从List中取数据要强转，使用泛型后在定义List时就定义好一个类型，每次取数据不用强转了
类型擦除
java的泛型使用类型擦除来实现，在编译时删掉泛型声明，使所有T声明等价于Object，加入强转，运行时无发获取泛型的类型
测试类:
public class c01&lt;T extends Reader&gt; {

    void bar(String s){}

    void foo(){
        List list1 = new ArrayL]]></description><category></category></item></channel></rss>