当前位置:网站首页>[kotlin] the third day
[kotlin] the third day
2022-07-04 23:22:00 【No. 101 of the top 100 most handsome faces in the Asia Pacific 】
Here is the reference
️ Author: intellectuals
️ Personal blog : Old nine CSDN Blog
Personal famous saying : Uncontrollable things Optimistic face
Series column :
Here is the reference
List of articles
- Nullability characteristics (?)
- Security call operators
- Use let Security call for
- Non empty assertion operators (!!)
- Use if Judge null value
- Null merge operator
- Exception handling and custom exception
- Prerequisite function
- substring function
- split operation
- replace Complete encryption and decryption operation
- == and === Comparison operation
Nullability characteristics (?)
fun main() {
var name:String = "lmp"
// This default is a non nullable type
//name = null
println(name)
// When making a statement : Specify as nullable type ( Type followed by a question mark )
var name2 : String ?
name2 = null
println(name2)
}
Security call operators
fun main() {
var name :String? = "zhangsan"
name = null
// Change the first letter to capital
// If name yes null, The code after the question mark is not executed , No null pointer exception will be thrown
val r = name?.capitalize()
println(r)
}
Use let Security call for
package com.lmp.s1
fun main() {
var name:String? = null
// var name = "lmp"
name = ""
var r = name?.let {
//it == name In itself
// If name It's empty , Do not execute after the question mark
if(it.isBlank())// If name yes ”“( No content )
{
"default"
}else{
"{
$it}"
}
}
println(r)
}
Non empty assertion operators (!!)
fun main() {
var name :String? = null
//!! Assertion
// No matter name Is it right? null, All implemented
var r = name!!.capitalize()
println(r)
}
Use if Judge null value
fun main() {
var name:String? = null
if(name != null){
var r = name.capitalize()
println(r)
}else{
println("name is null")
}
}
Null merge operator
fun main() {
var info : String ? = " Bruce Lee "
info = null
//?: If the front one is empty , Just output the following things
//xxx ?: " So you are null" If xx be equal to null, Will execute ?: The back area
println(info ?: " So you are null" )
//let function + Null merge operator
println(info ?.let{
"【$it】"} ?:" So you are null")
}
Exception handling and custom exception
fun main() {
try{
var info :String ?= null
checkException(info)
println(info!!.length)
}catch(e:Exception){
println("$e")
}
}
fun checkException(info: String?) {
info ?: throw CustomException()
}
class CustomException : IllegalArgumentException(" Your code is too loose ")
Prerequisite function
fun main() {
val value1 :String ?= null
val value2 :Boolean = false
// Throw abnormal function
//checkNotNull(value1)
// Throw abnormal function
//requireNotNull(value1)
// by false And throw exceptions
require(value2)
}
substring function
const val INFO = "lmp is Success Result"
fun main() {
val indexOf = INFO.indexOf("i")
println(INFO.substring(0, indexOf))
println(INFO.substring(0 until indexOf))
}
split operation
fun main() {
val jsonTest = "Derry,lmp"
val list = jsonTest.split(",")
// Deconstruction operations
val (v1,v2) = list
println("$v1.$v2")
}
replace Complete encryption and decryption operation
fun main() {
val sourcePwd = "lmp"
println(" The original code is $sourcePwd")
// Encryption operation : Is to replace characters with numbers
val newPwd = sourcePwd.replace(Regex("[lm]")){
when(it.value){
"l" -> "9"
"m" -> "8"
"p" -> "7"
else->it.value
}
}
println(" The encrypted password is $newPwd")
// Decryption operation
val sourcePwdNew = newPwd.replace(Regex("[987]")){
when(it.value) {
"9" -> "l"
"8" -> "m"
"7" -> "p"
else -> it.value
}
}
println(" The decrypted password is $sourcePwdNew")
}
== and === Comparison operation
fun main() {
//== value Comparison of contents amount to java Of equals
//=== Comparison of references
val name1 = "lmp"
val name2 = "lmp"
val name3 = "ww"
println(name1.equals(name2))
println(name1 == name2)
println(name1 === name2) // true, Because it refers to the string constant pool
println(name1 == name3)
val name4 = "lmp".capitalize()
println(name1 == name4)
println(name1 === name4)
}
————————————————————————
It's not easy to code words , Everyone's support is my driving force to stick to it
Copyright notice : This paper is about CSDN Blogger 「 The top 100 most handsome faces in the Asia Pacific region 101 name 」 The original article of
边栏推荐
猜你喜欢
P2181 diagonal and p1030 [noip2001 popularization group] arrange in order
CTF competition problem solution STM32 reverse introduction
The initial arrangement of particles in SPH (solved by two pictures)
Phpcms paid reading function Alipay payment
Redis getting started complete tutorial: Geo
Docker镜像的缓存特性和Dockerfile
【kotlin】第三天
Redis getting started complete tutorial: hash description
One of the commonly used technical indicators, reading boll Bollinger line indicators
ICML 2022 | 3dlinker: e (3) equal variation self encoder for molecular link design
随机推荐
Redis getting started complete tutorial: Key Management
QT drawing network topology diagram (connecting database, recursive function, infinite drawing, dragging nodes)
PaddleOCR教程
MP advanced operation: time operation, SQL, querywapper, lambdaquerywapper (condition constructor) quick filter enumeration class
CTF竞赛题解之stm32逆向入门
The solution to the lack of pcntl extension under MAMP, fatal error: call to undefined function pcntl_ signal()
French scholars: the explicability of counter attack under optimal transmission theory
Redis: redis transactions
Qualcomm WLAN framework learning (30) -- components supporting dual sta
C语言快速解决反转链表
智力考验看成语猜古诗句微信小程序源码
Pagoda 7.9.2 pagoda control panel bypasses mobile phone binding authentication bypasses official authentication
香港珠宝大亨,22亿“抄底”佐丹奴
[JS] - [sort related] - Notes
[graph theory] topological sorting
LIst 相关待整理的知识点
【js】-【排序-相关】-笔记
数据库基础知识
[sword finger offer] questions 1-5
MariaDB的Galera集群应用场景--数据库多主多活