java - 如何同时验证字符串值和字符串数组值?也许使用可选语法?

标签 java arrays string

我想要处理多重验证,我到底需要处理什么?

String result = "John+Doe"; // value comes from third-party in this format
if(result != null) {
   String[] value = result.split("\\+");
   String name = value[0];
   String lastName = value[1];

   System.out.println(name);
   System.out.println(lastName);
}

这是我所期望的默认情况,我是这样处理的 打印将是约翰和多伊

问题是:如果 result 值为 JohnDoe - 一个单词,如何处理以打印该单词(值)?

我是否需要验证 null 等的每个值(名称、姓氏、值、结果)?例如 value.length > 0

如何将所有这些结合起来?不熟悉 java 8 中的Optional

最佳答案

如果您收到像 "JohnDoe" 这样的字符串,您的字符串数组将只有一个元素,并且当您尝试调用 value[1] 时,将会出现 ArrayOutOfBounds 异常。拆分字符串后需要执行的额外检查:

if(value.length<2) {
 // wrong input
 } else{
 // your code
} 

关于java - 如何同时验证字符串值和字符串数组值?也许使用可选语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58624762/

相关文章:

java - Vector2 类的旋转问题

java - java中图片的颜色直方图 - 错误的结果

java - 使用Google云应用程序引擎灵活快速启动的数据存储错误

java - NoClassDefFoundError : android. support.v4.util.ArrayMap

java - 在没有 '+' 运算符的情况下替换字符串中的变量

python - 计算每个 bin 中有多少个值

arrays - Excel VBA 连接函数

javascript - 不寻常的 if/else 行为

c# - C#判断字符串是否为数字

java - Java中替换字符串后的字符串长度?