小编bla*_*her的帖子

Java lambda:预期对象但找到 MyClass

如果我有:

public class MyClass{
    MyClass(Object b){
        //Some code here
    }
}
Run Code Online (Sandbox Code Playgroud)

我这样做:

MyClass X = new MyClass(new SomeOtherClass());
Run Code Online (Sandbox Code Playgroud)

我假设它工作得很好,因为每个类都有 Object 作为超类。

但是,如果我这样做:

import java.util.function.Predicate;
public class MyClass{
    MyClass(Predicate<Object> b){
        //Some more code here
    }
}
Run Code Online (Sandbox Code Playgroud)

进而:

MyClass X = new MyClass((SomeOtherClass s) -> {
    //Even more code
    return true;
});
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息:

Incompatible parameter types in lambda expression: expected Object but found SomeOtherClass
Run Code Online (Sandbox Code Playgroud)

我不应该能够SomeOtherClass在该 lambda 表达式中发送对象吗?我使用该Object课程是因为我不仅希望能够收到SomeOtherClass,还希望能够收到SomeOtherClassXPTO。我尝试查找此问题,但到目前为止什么也没发现,所以如果之前有人问过这个问题,我提前表示歉意。

java lambda object superclass

5
推荐指数
1
解决办法
3416
查看次数

Bootstrap 工具提示“未捕获的类型错误:无法读取 null 的属性‘触发器’”

当我尝试显示新的工具提示时,在销毁旧的工具提示后,我在 Chrome 控制台中收到“Uncaught TypeError: Cannot read property 'trigger' of null”。

然后,当我在挖掘引导代码时,我发现了这个: 销毁函数 我怀疑这是我得到的异常的原因: 销毁函数

在创建新工具提示时,我尝试使用“选择器”和“容器”属性。有效的一件事是在另一个按钮上添加一个事件侦听器,以销毁工具提示,这样当我再次单击注册时,它可以正常工作并且不会引发异常。

该示例可以在(单击注册两次)中找到:https : //jsfiddle.net/08o4qgj5/1/ 代码:

$("form#register").on("click", "button[name='btnRegister']", function () {
    //Destroy tooltip if exists
    $("input[name='email']").tooltip('destroy');
    //Adds new one
    $("input[name='email']").tooltip({title: "CYKA BLYAAAAAAT, IDI NAHUI!",
        placement: 'bottom',
        template:'<div class="tooltip" role="tooltip">' +
        '<div class="tooltip-arrow"></div>' +
        '<div class="tooltip-inner"></div>' +
        '</div>'});
    //Shows it
    $("input[name='email']").tooltip('show');
});

$("form#register").on("click", "button[name='btnDestroy']", function () {
    //Destroys tooltip
  $("input[name='email']").tooltip('destroy');
});
Run Code Online (Sandbox Code Playgroud)

在我向您展示的示例中,这样做有点没用,因为只有 1 个输入。但是在我的网站上,我想要发生的是:

  1. 销毁任何可能存在的工具提示
  2. 验证用户输入
  3. 如果输入无效,我想向该输入元素添加一个新的工具提示

我发现有人遇到的最相似的问题是:Bootstrap 3 Tooltip 闪烁, 但这并没有为我解决。

提前致谢。

exception tooltip flicker twitter-bootstrap-3

2
推荐指数
1
解决办法
5978
查看次数