如何使用 1 方法获取字符串的长度?更短
How to get a length of a String by using 1 method? SHORTER
获取单个字符串的长度真的很容易return它的值!
public static int length(String s){//trys and returns length of any string
try{//try code
len = s.length();//gets the length of any string
}catch (NullPointerException nullError){//checks for nulls
len = 0;//if there is a null then there is 0 length of the string
}
return len;//return the integer length of any string
}
这个简单的代码会捕获错误!
错误的一个示例是,如果您使用 JOptionPane 并且用户不打印任何内容只是单击 X。这将导致空错误!
因此,如果是这种情况,那么长度将仅为 0!
但现在我只想知道如何让这段代码更短!
return str != null ? str.length() : 0
public static int length(String s){
return s==null?0:s.length();
}
你这边有误会。
A null 字符串为 null。它没有长度!
空 字符串的长度为 0。
为了增加更多的混乱,试试当你这样做时会发生什么
String str = null;
System.out.println(str);
惊奇...这将打印 更多 而不仅仅是一个空行。
换句话说:在 定义 一个 null 字符串的长度为 0 之前最好三思!
从这个意义上说,你最好做一些类似
的事情
public static String ensureNotNull(String input) {
if (input == null) { return ""; }
return input;
}
String someString = ... coming from somewhere, maybe null
someString = ensureNotNull(someString);
因为that 将确保 someString 的长度为 0,并且不为空!更重要的是:"your" 的想法是 A) 一些字符串变量 B) 一些额外的 int 变量。意思是:基于那个字符串的值,你必须携带那个额外的 int 值。因此,突然之间,您处理那个字符串的代码...还必须处理那个 other int 值。每时每刻。不是个好主意。
获取单个字符串的长度真的很容易return它的值!
public static int length(String s){//trys and returns length of any string
try{//try code
len = s.length();//gets the length of any string
}catch (NullPointerException nullError){//checks for nulls
len = 0;//if there is a null then there is 0 length of the string
}
return len;//return the integer length of any string
}
这个简单的代码会捕获错误! 错误的一个示例是,如果您使用 JOptionPane 并且用户不打印任何内容只是单击 X。这将导致空错误! 因此,如果是这种情况,那么长度将仅为 0!
但现在我只想知道如何让这段代码更短!
return str != null ? str.length() : 0
public static int length(String s){
return s==null?0:s.length();
}
你这边有误会。
A null 字符串为 null。它没有长度! 空 字符串的长度为 0。
为了增加更多的混乱,试试当你这样做时会发生什么
String str = null;
System.out.println(str);
惊奇...这将打印 更多 而不仅仅是一个空行。
换句话说:在 定义 一个 null 字符串的长度为 0 之前最好三思!
从这个意义上说,你最好做一些类似
的事情public static String ensureNotNull(String input) {
if (input == null) { return ""; }
return input;
}
String someString = ... coming from somewhere, maybe null
someString = ensureNotNull(someString);
因为that 将确保 someString 的长度为 0,并且不为空!更重要的是:"your" 的想法是 A) 一些字符串变量 B) 一些额外的 int 变量。意思是:基于那个字符串的值,你必须携带那个额外的 int 值。因此,突然之间,您处理那个字符串的代码...还必须处理那个 other int 值。每时每刻。不是个好主意。