Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中创建参数数量和类型未知的方法_Java_Primefaces_Datatable_Variadic Functions - Fatal编程技术网

在java中创建参数数量和类型未知的方法

在java中创建参数数量和类型未知的方法,java,primefaces,datatable,variadic-functions,Java,Primefaces,Datatable,Variadic Functions,我正在使用primefaces数据表,同时我正在使用三重数据存储(Jena TDB),而不是传统的数据库。我将在下面创建一个类似primefaces showcase示例的对象; 公车{ private String model; private int year; private String manufacturer; private String color; public Car(String model, int year, String ma

我正在使用primefaces数据表,同时我正在使用三重数据存储(Jena TDB),而不是传统的数据库。我将在下面创建一个类似primefaces showcase示例的对象; 公车{

    private String model;
    private int year;
    private String manufacturer;
    private String color;

    public Car(String model, int year, String manufacturer, String color) {
            this.model = model;
            this.year = year;
            this.manufacturer = manufacturer;
            this.color = color;
    }

    public String getModel() {
            return model;
    }

    public void setModel(String model) {
            this.model = model;
    }

    public int getYear() {
            return year;
    }

    public void setYear(int year) {
            this.year = year;
    }

    public String getManufacturer() {
            return manufacturer;
    }

    public void setManufacturer(String manufacturer) {
            this.manufacturer = manufacturer;
    }

    public String getColor() {
            return color;
    }

    public void setColor(String color) {
            this.color = color;
    }
}

这里一切都很清楚,汽车对象有明确的参数,如型号,年份。。。但是,在基于菜单栏的用户选择的程序中,我必须调用具有不同属性的完全不同的对象作为参数,并执行与showcase中所示相同的操作。我是java新手,我真的很困惑如何解决这个问题。 例如,我的程序对象可以是具有(名称、地址、电子邮件、电话等)参数的公司,也可以是具有不同属性(名称、型号、生产日期、规格等)的机器


提前感谢您的回复

不完全理解您提供的解释。我可以针对您的标题给您一个答案:在java中创建一个参数数量和类型未知的方法

您可以将Java参数与对象类一起使用

package com.misc;

public class NNumberOfObj {
    public static void acceptNNumberOfAnyTypeofObjects(Object... args) {
        System.out.println("Total objects are: " + args.length);
        //Your further implementation goes here.
    }
    public static void main(String[] args) {
        String s = new String("Nikhil");
        Integer i = 10;
        Employee emp = new Employee(10, "Kunal");
        acceptNNumberOfAnyTypeofObjects(s, i, emp);
    }
}

class Employee {
    private int id;
    private String name;
    public Employee(int id, String name) {
        this.id = id;
        this.name = name;
    }
}

客户端(调用代码)需要对这些对象做什么。只需对具有不同属性的对象进行排序,然后将它们返回给用户。2.稍后,算法使用这些属性根据提供的标准选择最合适的对象。但现在我只想在datatable中调用这些对象并对它们进行排序!!您是否考虑过创建一个所有这些对象都可以实现的接口?然后可以将所有对象视为同一类型。可能它包含一个
setField(stringfieldname,objectvalue)
方法,对象处理设置字段的操作。不,我没有。我要试试看!一个新的想法。谢谢凯文!!如果你需要任何指导,请告诉我。我个人资料中的博客包含我的电子邮件。请展示它是如何使用和实现的。我知道varags是如何工作的,我只是认为你应该展示args是一个数组,我认为你仍然不知道+1.您好,我只是想说明args数组可以接受任何数量和类型的参数。对不起,如果你在期待其他事情。非常感谢你的回答。我的问题就在这里,您知道employee类,并且正在为您的员工分配id和name参数,但是在我的模型(本体模型)中,有太多类型的对象具有完全不同的属性和参数,根据用户选择,我想调用它们!!看起来很奇怪,但我不知道怎么解释!!!事实上,我用了varargs,但我得到了任何结果。因为以后我必须为不同的属性定义get set方法,就像您在employee类中为id和name所做的那样。您可以使用Object作为方法参数,然后每次都使用instanceof运算符检查对象类型。