处理空输入踩的坑

news/2025/10/23 22:05:22/文章来源:https://www.cnblogs.com/kaimingkai/p/19161748

处理一个外部传入的用户输入的时候,一开始只想着处理null,用"?.let{}"的模式处理。结果发现结果异常。
打断点发现传入值不是空,而是""
由此发现kotlin处理空string的两个函数:

isEmpty()

The isEmpty() function returns true only if the string has a length of zero.

  • "" is empty.
  • " " is not empty.
  • "\t\n" is not empty.
  • "hello" is not empty.

Essentially, isEmpty() performs a very literal check: are there any characters in this string at all?

isBlank()

The isBlank() function is more nuanced. It returns true if the string is empty OR if it consists only of whitespace characters (spaces, tabs, newlines, etc.).

  • "" is blank.
  • " " is blank.
  • "\t\n" is blank.
  • "hello" is not blank.

isBlank() checks if there is any meaningful, non-whitespace content in the string.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/944717.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【做题记录】贪心--提高组

A. Monotone Subsequence 有点 Ad-hoc。 第 \(i\) 次查询,直接询问当前未被删去的所有点。如果回答 \(\ge n+1\),那么直接输出;否则将回答的这些点标一个级别 \(i\)。最后一次询问之后还剩下的标为 \(n+1\)。根据鸽…

latex输入公式

输入不换行公式:点击查看代码 \begin{equation}\label{eq:2}u_{exact} = \sin(x) - \frac{1}{4} \sin(4x) + \frac{1}{8} \sin(8x) - \frac{1}{16} \sin(16x) + \frac{1}{24} \sin(24x) - \frac{1}{48} \sin(48x) + …

【为美好CTF献上祝福】 New Star 2025 逆向笔记

Re Week1 Strange Base 乍一看是个正常的 base64 加密点进 base64 函数一看,发现 base64 的表被换了。

XXL-JOB(5)

XXL-JOB(5) 表结构分析 xxl_job_lock:任务调度锁表; xxl_job_group:执行器信息表,维护任务执行器信息; xxl_job_info:调度扩展信息表:用于保存XXL-JOB调度任务的扩展信息,如任务分组、任务名、机器地址、执行…

蛋白表达原理与关键要素解析

一、蛋白表达的基本原理 蛋白表达(Protein Expression) 是指细胞根据遗传信息合成蛋白质的过程。在自然状态下,DNA 上的基因通过 转录(Transcription) 产生信使 RNA(mRNA),随后经过 翻译(Translation) 在核糖…

顾雅南的声音美化课堂

下载地址 https://8ma.co/res/L7AZ255U ◀.zstitle { width: 280px; text-align: center; font-size: 26px } .zsimgweixin { width: 280px } .zsimgali { width: 280px; padding: 0px 0px 50px 0px } .zsleft { floa…

Ramanujan Master Theorem

:::note[前置知识] 这篇文章需要用到复数以及一些变换。如果你不会复数,可以参考这篇文章。 如果你不会变换,可以参考这篇文章。::: 位移算符 我们定义:\(D\equiv \frac{\mathrm d}{\mathrm dx}\),考虑 \[e^D=\sum…

【周记】2025.10.13~2025.10.19

2025.10.13~2025.10.19 周记不是太好的一周,随便说说两句吧。 ① 这一周非常非常的累...... 我们是周二、周四晚上(还有周六一整天哈)会上信息学竞赛,搞得我疲惫不堪。我们先是学了矩阵乘法,然后又打了一场模拟赛…

C++案例 自定义数组

#include <string> #include <iostream> #include <algorithm> #include <initializer_list> using namespace std;template<class T> class myArray {// 类模板 友元 重载 外部类实现/…

20251023周四日记

20251023周四日记今天心情好多了,项目终于快完事了。 今日: 1.早上买个早点肉夹馍来组里吃,来时正好碰见师姐收签字。更新了财政系统,搜了个nb的VLM综述。和博、耀对接好明天找他们去。 2.中午不老饿的,呆到两点去…

10.23《程序员修炼之道 从小工到专家》第二章 注重实效的途径 - GENGAR

软件开发需遵循多类核心原则,以提升效率、降低风险并保障代码质量。 DRY 原则(Don’t Repeat Yourself)要求系统中每项信息有单一权威表示,可避免重复带来的维护难题。重复主要分四类:强加的重复可通过方法规避,…

玩转单片机之智能车小露——LED闪烁实战

用单片机点亮一颗LED非常简单,让一颗LED闪烁也很简单,比如写一段下面这样的程序: while(1){ // 无限循环LED1 = 0; // 点亮LEDdelay_ms(300); // 延时300msLED1 = 1; // 熄灭LEDdelay_ms(300); // 延…

ord() 函数

ord() 函数以一个字符(长度为 1 的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。 ord() 函数的语法: ord(c)…

2025.10.23总结 - A

今天上了数据结构还有体育,加油

树状数组求逆序对

统计对于每个i<j,求a[i]>a[j]的数量 在每一次更新(update)树状数组时,以元素的值作为树状数组的索引,更新的值为 +1,代表个数。 在每一次获取(query)逆序对数时,存在于树状数组中的元素的索引值都比当前…

大模型 | VLA 初识及在自动驾驶场景中的应用

一、VLA 简介 1.1 VLA 定义 VLA (Vision Language Action)是一种多模态机器学习模型,结合了视觉、语言和动作三种能力,旨在实现从感知输入直接映射到控制动作的完整闭环能力。VLA 强调一体化多模态端到端架构,非感…

Redis中的分布式锁之SETNX底层实现

https://blog.csdn.net/qq_39032307/article/details/148683477

2025家纺摄影公司推荐,南通鼎尚摄影专注产品视觉呈现

2025家纺摄影公司推荐,南通鼎尚摄影专注产品视觉呈现 家纺摄影行业面临的技术挑战 随着电商行业的蓬勃发展,家纺摄影行业正面临着前所未有的技术挑战。据统计,超过70%的线上消费者表示,产品图片质量直接影响其购买…

ExPRT.AI如何预测下一个将被利用的漏洞

本文详细介绍了CrowdStrike Falcon Exposure Management中的ExPRT.AI引擎如何利用实时对手信号、观测到的攻击行为以及基于专有威胁情报训练的AI来预测最可能被利用的漏洞,帮助安全团队优先处理最关键的安全风险。How…