赞
踩
java代码:
if (object instanceof Car) {
Car car = (Car) object;
}
kotlin代码:
if (object is Car) {
var car = object // 智能转换
}
java代码:
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
kotlin代码:
btn_login.setOnClickListener(View.OnClickListener { })
java代码:
if(a != null && a.b != null && a.b.c != null) {
String user = a.b.c.d;
}
kotlin代码:
val user = a?.b?.c?.d
java代码:
if (str != null) {
int length = str.length();
}
kotlin代码:
str?.let {
val length = str.length
}
// 更简单的写法
val length = str?.length
// 为null赋予默认值
val length = str?.length?:0
java代码:
int getScore() {
// logic here
return score;
}
kotlin代码:
fun getScore(): Int {
// logic here
return score
}
// 单表达式函数
fun getScore(): Int = score
java代码:
int getScore(int value) {
// logic here
return 2 * value;
}
kotlin代码:
fun getScore(value: Int): Int {
// logic here
return 2 * value
}
// 单表达式函数
fun getScore(value: Int): Int = 2 * value
java代码:
public double cube(double x) {
return x * x * x;
}
kotlin代码:
fun cube(x: Double) : Double = x * x * x
java代码:
public int sum(int… numbers) { }
kotlin代码:
fun sum(vararg x: Int) { }
java代码:
public class MyClass {
public static void main(String[] args){
}
}
kotlin代码:
fun main(args: Array) {
}
java代码:
public static void main(String[]args){
openFile(“file.txt”, true);
}
public static File openFile(String filename, boolean readOnly) { }
kotlin代码:
fun main(args: Array) {
openFile(“file.txt”, readOnly = true)
}
fun openFile(filename: String, readOnly: Boolean) : File { }
java代码:
public static void main(String[]args){
createFile(“file.txt”);
createFile(“file.txt”, true);
createFile(“file.txt”, true, false);
createExecutableFile(“file.txt”);
}
public static File createFile(String filename) { }
public static File createFile(String filename, boolean appendDate) { }
public static File createFile(String filename, boolean appendDate,
boolean executable) { }
public static File createExecutableFile(String filename) { }
kotlin代码:
fun main(args: Array) {
createFile(“file.txt”)
createFile(“file.txt”, true)
createFile(“file.txt”, appendDate = true)
createFile(“file.txt”, true, false)
createFile(“file.txt”, appendDate = true, executable = true)
createFile(“file.txt”, executable = true)
}
fun createFile(filename: String, appendDate: Boolean = false,
executable: Boolean = false): File { }
java代码:
public void init() {
List moduleInferred = createList(“net”);
}
public List createList(T item) { }
kotlin代码:
fun init() {
val module = createList(“net”)
val moduleInferred = createList(“net”)
}
fun createList(item: T): List { }
==============================================================================
java代码:
public class User {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
kotlin代码:
class User {
var name : String? = null
}
属性访问对比
java代码:
user.setName(“Java”);
String name = user.getName();
kotlin代码:
user.name = “Kotlin”
String name = user.name
java代码:
RequestBean requestBean = new RequestBean();
requestBean.method = AppService.METHOD_CASHIER;
requestBean.cartId = mCartId;
requestBean.merchantOrderInfo = “1234567890”;
requestBean.merchantOrderId = “1234567890”;
kotlin代码:
val requestBean = RequestBean().apply {
method = AppService.METHOD_CASHIER
cartId = mCartId
merchantOrderInfo = “1234567890”
merchantOrderId = “1234567890”
}
java示例:
public class SingletonDemo {
private static SingletonDemo instance = new SingletonDemo();
private SingletonDemo() { }
public static SingletonDemo getInstance() {
return instance;
}
public String getTAG() {
return “Java”;
}
}
kotlin示例:
object SingletonDemo {
fun getTAG(): String {
return “Kotlin”
}
}
=================================================================================
2.1 Kotlin开发环境搭建
project build.gradle添加支持:
classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version”
module build.gradle添加支持:
implementation “org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version”
kotlin调用java的get/set方法
java示例:
public class User {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return 10;
}
}
kotlin示例:
val user = User()
user.name = “Kotlin”
println(user.name)
println(user.age)
kotlin调用java的静态成员
java示例:
public class JDPayDeviceUtil {
public static String getVersionName(Context context, String packageName) {
PackageInfo info = getPackageInfo(context, packageName);
if(info != null) {
return info.versionName;
}
return “”;
}
}
kotlin示例:
val versionName = JDPayDeviceUtil.getVersionName()
println(“$versionName”)
kotlin示例:
class KotlinStatic {
companion object {
var number = 0
fun staticMethod(string: String?) {
println(string)
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
一转眼时间真的过的飞快。我们各奔东西,也各自踏上了自己的旅途,但是即使多年不见,也因为这份情谊我们依旧如从前那般“亲密”。不忘初心方得始终。加油吧,程序员们,在我看来35岁,40岁从来不是危机,只要永远不要忘记自己为何踏上征程!
为了让更多在学习中或者最近要准备面试的朋友们看到这篇文章,希望你们能多多评论,点赞+转发!
再次感谢所有给我提供过题目的朋友们,感谢一路有你!
,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-wBBC7tra-1712286059783)]
[外链图片转存中…(img-JIueSwVC-1712286059783)]
[外链图片转存中…(img-SXHfwNVT-1712286059784)]
[外链图片转存中…(img-KqasdeNp-1712286059784)]
[外链图片转存中…(img-9bogQv6C-1712286059784)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
一转眼时间真的过的飞快。我们各奔东西,也各自踏上了自己的旅途,但是即使多年不见,也因为这份情谊我们依旧如从前那般“亲密”。不忘初心方得始终。加油吧,程序员们,在我看来35岁,40岁从来不是危机,只要永远不要忘记自己为何踏上征程!
为了让更多在学习中或者最近要准备面试的朋友们看到这篇文章,希望你们能多多评论,点赞+转发!
再次感谢所有给我提供过题目的朋友们,感谢一路有你!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。