簡體   English   中英

在Java中創建具有未知數量和參數類型的方法

[英]Create a method with unknown number and type of arguments in java

我正在使用primefaces數據表,同時使用的是Triple數據存儲(Jena TDB),而不是傳統的數據庫。 我將在下面創建一個類似primefaces展示示例的對象; 公共類車{

    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;
    }

}

在這里一切都清楚了,汽車對象具有確定的參數,例如模型,年份等。但是,在基於菜單欄中用戶選擇的程序中,我必須調用具有各種屬性的完全不同的對象作為參數,並執行與展示櫃。 我是Java的新手,我真的很困惑如何解決這個問題。 舉例來說,我的程序對象可以是帶有(名稱,地址,電子郵件,電話,...)參數的公司,也可以是具有完全不同的屬性(例如(名稱,型號,生產日期,規格等)的計算機。 。

預先感謝您的回復。

無法完全理解您提供的說明。 我可以針對您的標題給您一個答案: 在Java中創建一個未知數和參數類型的方法

您可以將Java args與Object類一起使用。

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;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM