当前位置:网站首页>[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
边栏推荐
- 解决无法通过ssh服务远程连接虚拟机
- P2181 对角线和P1030 [NOIP2001 普及组] 求先序排列
- Object detection based on OpenCV haarcascades
- Summary of wechat applet display style knowledge points
- Basic knowledge of database
- Redis introduction complete tutorial: Collection details
- UML diagram memory skills
- The difference between cout/cerr/clog
- [Jianzhi offer] 6-10 questions
- Servlet+jdbc+mysql simple web exercise
猜你喜欢
OSEK标准ISO_17356汇总介绍
OSEK standard ISO_ 17356 summary introduction
一次edu证书站的挖掘
PS style JS webpage graffiti board plug-in
ICML 2022 || 3DLinker: 用于分子链接设计的E(3)等变变分自编码器
Redis: redis transactions
Why does infographic help your SEO
如何报考PMP项目管理认证考试?
Redis: redis message publishing and subscription (understand)
取得PMP证书需要多长时间?
随机推荐
P2181 对角线和P1030 [NOIP2001 普及组] 求先序排列
LabVIEW中比较两个VI
Jar批量管理小工具
Redis introduction complete tutorial: detailed explanation of ordered collection
phpcms付费阅读功能支付宝支付
Notepad++--编辑的技巧
[Taichi] change pbf2d (position based fluid simulation) of Taiji to pbf3d with minimal modification
MIT-6.824-lab4B-2022(万字思路讲解-代码构建)
Stm32 Reverse Introduction to CTF Competition Interpretation
ScriptableObject
华泰证券低佣金的开户链接安全吗?
ECS settings SSH key login
【剑指offer】1-5题
MP advanced operation: time operation, SQL, querywapper, lambdaquerywapper (condition constructor) quick filter enumeration class
【二叉树】节点与其祖先之间的最大差值
Solve the problem that the virtual machine cannot be remotely connected through SSH service
S32 Design Studio for ARM 2.2 快速入门
微信公众号解决从自定义菜单进入的缓存问题
Question brushing guide public
ICML 2022 | 3dlinker: e (3) equal variation self encoder for molecular link design