java - 当我尝试打印此内容时,为什么新行会附加到我的数组元素中?

标签 java arrays string newline

private int Index(String[] match,String keyword){
   int m=0;
   keyword=keyword+"1";
   match[m]=match[m]+"1";
   System.out.println("match:"+match[m]);
   System.out.println("keyword:"+keyword);
   System.out.println(match[m].equals(keyword));
   while(!(match[m].equals("")) && !(match[m].equals(null))){
           System.out.println("yes");
       if(match[m].equals(keyword)){
         break;
       }
       else
           m++;
   }
   return m;
}

我得到以下输出(关键字的值为sparktg):

match:sparktg
1
keyword:sparktg1
false

为什么在 match[m] 的情况下,“sparktg”和“1”之间有一个新行?

最佳答案

如果您无法控制输入,则可以在使用输入之前执行trim()。这消除了任何 \n 和空格。

if(match[m] != null) {
   System.out.println("match:"+match[m].trim());
}
if(keyword != null) {
   System.out.println("keyword:"+keyword.trim());
}

您可以通过编写一个实用方法来执行此操作,从而使其更简洁。

public String sanitize(String input) {
    return input != null ? input.trim() : null;
}

并按如下方式使用:

match[m] = sanitize(match[m]);
keyword = sanitize(keyword);

关于java - 当我尝试打印此内容时,为什么新行会附加到我的数组元素中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11049771/

相关文章:

java - Play : Unit test for controller class method w/injections

java - 使用 OWLAPI 访问耶拿 TDB

java - 未从 Java 在 REST 中调用云函数

c# - 当我向数组添加某些内容时,它不会向列表添加任何内容

php - SQL join into join 创建好数组

java - 如何让手机锁屏时屏幕显示闹钟

c - C 中的数组很麻烦

ruby - 为什么在 Ruby 中有一个 String#replace?

java - 字符串比较没有跳出 while 循环

java - 将字符串拆分为不同的数组索引 Java?