Android Lambda表达式,面试总结

46 阅读3分钟

lambda

button.setOnClickListener(

(View v) -> {

doSomeWork();

}

);

Lambda 的操作


语法

( 参数列表... ) -> { 语句块... }

用自定义的接口当栗子

MainActivity

public class MainActivity extends AppCompatActivity {

private final String TAG = "MainActivity";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

// 无参无返回值

new Test(new Test.Callback() {

@Override

public void success() {

Log.e(TAG, "无参无返回值");

}

});

new Test(() -> Log.e(TAG, "无参无返回值"));

// 有参无返回值

new Test(new Test.Callback1() {

@Override

public void success(String msg) {

Log.e(TAG, "有参无返回值");

}

});

new Test((String msg) -> Log.e(TAG, "有参无返回值"));

//无参有返回值

new Test(new Test.Callback2() {

@Override

public String success() {

return "无参有返回值";

}

});

new Test(() -> "无参有返回值");

//有参有返回值

new Test(new Test.Callback3() {

@Override

public String success(String msg) {

return msg + "的回调";

}

});

new Test((String msg) -> msg + "的回调");

}

}

Test

public class Test {

private final String TAG = "Test";

// 无参无返回值

public Test(Callback callback) {

如何成为Android高级架构师!

架构师必须具备抽象思维和分析的能力,这是你进行系统分析和系统分解的基本素质。只有具备这样的能力,架构师才能看清系统的整体,掌控全局,这也是架构师大局观的形成基础。 你如何具备这种能力呢?一是来自于经验,二是来自于学习。

架构师不仅要具备在问题领域上的经验,也需要具备在软件工程领域内的经验。也就是说,架构师必须能够准确得理解需求,然后用软件工程的思想,把需求转化和分解成可用计算机语言实现的程度。经验的积累是需要一个时间过程的,这个过程谁也帮不了你,是需要你去经历的。

但是,如果你有意识地去培养,不断吸取前人的经验的话,还是可以缩短这个周期的。这也是我整理架构师进阶此系列的始动力之一。


成为Android架构师必备知识技能

对应导图的学习笔记(由阿里P8大牛手写,我负责整理成PDF笔记)

部分内容展示

《设计思想解读开源框架》

  • 目录
  • 热修复设计
  • 插件化框架设计 《360°全方面性能优化》
  • 设计思想与代码质量优化
  • 程序性能优化

本文在开源项目:【GitHub 】中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…