在某些情况下,使用BiPredicate lambda表达式时会出现“Bad type on operand stack”错误。解决此问题的一种方法是使用匿名内部类代替lambda表达式。
例如,以下代码使用BiPredicate lambda表达式判断两个字符串的长度是否相等:
BiPredicate lengthCheck = (s1, s2) -> s1.length() == s2.length();
如果出现错误,则可以使用以下代码替换lambda表达式:
BiPredicate lengthCheck = new BiPredicate() { @Override public boolean test(String s1, String s2) { return s1.length() == s2.length(); } };
使用匿名内部类可以避免这个问题,并确保代码可以正确编译和运行。
上一篇:比PNG更好的图像格式是什么?(用于页面速度)
下一篇:比proc.time()更快的替代方法是什么?