我怎样才能达到这个条件?
link: function (scope, element, attrs, ngModelCtrl) {
// on change of modal
element.on("change", function (e) {
scope.$apply(function () {
ngModelCtrl.$setViewValue(element.val());
});
});
}
答案 0 :(得分:3)
有两种方法:
使用显式循环进行搜索,在测试前使用trim()
删除空格; e.g。
for (String s : list) {
if (s.trim().equals("banana")) {
System.out.println("Yes it is listed");
break;
}
}
这种方法的问题在于,每次搜索列表时都会重复修剪工作。
我希望没有循环。有什么可以忽略边缘空间。
好吧,您可以使用Java 8流实现这一点(再次阅读@javaguy的答案!),但将成为一个循环,它很可能会更慢而不是使用显式循环。
答案 1 :(得分:2)
您需要使用String类的trim()方法修剪前导或尾随空格。
不使用Java8:
for(String fruit : list) {
if(fruit.trim().equals(banana)) {
System.out.println("Yes it is listed");
}
}
使用Java8流(内部迭代):
boolean containsBanana = list.stream().
anyMatch( (String fruit) ->fruit.trim().equals(banana) );
if(containsBanana) {
System.out.println("Yes it is listed");
}
请参阅下面的String API trim()以获取更多详细信息:
public String trim() - 返回一个字符串,其值为此字符串,带有 删除了任何前导和尾随空格。
https://docs.oracle.com/javase/8/docs/api/java/lang/String.html
答案 2 :(得分:1)
尝试trim(),它返回字符串的副本,省略前导和尾随空格。
public class NumberPyramid
{
public static void main(String [] args)
{
for(int i=1; i<=9; i+=2)
{
for (int j = 11; j > i; j--)
{
System.out.print("-");
}
for(int j=1; j<=i; j++)
{
System.out.print(i);
}
for (int j = 1; j < i; j++)
{
System.out.print("-");
}
System.out.println();
}
}
}