当前位置: 首页 > 知识库问答 >
问题:

使用通配符限制从某个包输入的数据

司马萧迟
2023-03-14

我试图创建一个通用的tableView类,但我希望它只处理程序中的某些数据类型--这些数据类型在diffrent包中。

通过操作通配符,这可能吗?

public class  GenericTable <T>{ 

    private Collection<T> data; 

    @FXML
    private Text headline;

    @FXML
    private ObservableList<T> properties=FXCollections.observableArrayList();
    @FXML
    private TableView<T> table;
    @FXML
    private TableColumn<T, String> prop1;
    @FXML
    private TableColumn<T, String> prop2;
    @FXML
    private TableColumn<T, String> prop3;


    public void setData(Collection<T> data){

        this.data=data;
    }

    public void setText(String txt){

        headline=new Text(txt);
    }

    public void initialize(){

    }
}

共有1个答案

仲孙超
2023-03-14

也许您正在寻找有界类型参数。

extends关键字可用于限制作为函数参数传递的类型。

例如,以下命令只允许从number类的实例或扩展number类本身的类的实例调用:

public <U extends Number> void doSomething(U u) {}

您可能还想检查以下其他SO问题:

  • 上界和下界通配符的Java泛型
  • 何时使用泛型方法以及何时使用通配符?
 类似资料:
  • 问题内容: 我想创建JTextField,输入字符限于“ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZZ0123456789 +&@#/%?=〜_- |!:,。;”之类的输入字符。所以我尝试覆盖 但这不是我想要的,因为用户无法再按ctrl-c ctrl-v ctrl-x …所以我添加了 到if条件,但现在用户可以粘贴不适当的输入,即’(’

  • 问题内容: 无界通配符(例如)与界为(例如)的有界通配符之间是否有区别? 我记得在某处读到,泛型的早期草案有所不同,但现在找不到该来源了。 问题答案: 作为方法,如果class / interface / constructor / method声明了bound(不是),则有所不同。

  • 问题内容: 我试图在下面的字段中限制输入为数字 它不适用于 它适用于以下代码,但同时更改了两个字段 需要更改用户正在输入的输入字段的值,而不是两者都更改 问题答案: 使用此处找到的指令:而不是ng-change函数。复制此处以方便参考:

  • 问题内容: 我刚刚开始学习我的第一种真正的编程语言Python。我想知道如何将用户输入限制为特定字符和特定长度。例如,如果用户输入的字符串包含除字母以外的任何内容,我想显示一条错误消息,并且我想显示其中一个用户输入的字符超过15个。 第一个似乎是我可以使用正则表达式做的事情,由于我已经在Java语言中使用过它们,所以我对此有所了解,但是我不确定如何在Python中使用它们。第二个,我不确定该如何处

  • 问题内容: 我正在寻找将输入中的值限制为4并将4位数字值处理给我的控制器的方法。 问题答案: 可以随时为其发出指令:

  • 问题内容: 我正在尝试创建一个限制用户输入的文本字段。我有这个代码: 它成功限制了输入。但是,当我尝试按键盘上的其他字符时,它将更改文本字段上的最后一个字符。有什么想法可以阻止吗?我知道其他人会说我应该使用Document(不记得了)来制作这种东西,但是我不能。我不知道如何在netbeans中做到这一点。请帮忙。 问题答案: 这是一种简单的方法: