方法一:StringUtils.delimitedListToStringArray(推荐使用)
String str = "-Hello-How-are-you";
String[] array = StringUtils.delimitedListToStringArray(str, "-");
System.out.println("array:"+Arrays.toString(array));
方法二:String#split
不推荐使用split方法的原因:
- 该方法使用了正则表达式
- 其实是NPE(空指针)保护不够
String[] split = str.split("-");
System.out.println("split:"+Arrays.toString(split));
方法三:StringTokenizer
如果在依赖中没有StringUtils.delimitedListToStringArray的依赖包可以使用这一种
(不足之处:类似于枚举API)
StringTokenizer stringTokenizer = new StringTokenizer(str, "-");
while (stringTokenizer.hasMoreTokens()){
System.out.println(stringTokenizer.nextToken());
}
boolean hello = array[0].equals("Hello");// 不会发生NPE
boolean hello1 = ("Hello").equals(split[0]);
boolean hello2 = Objects.equals(split[0], "Hello");