[英]How to take any number of arguments from the user and pass them to a method which uses varargs( variable argument )?
[英]How to create a method for an already existing class so that it uses a variable, from which it is called as an argument?
更新:謝謝,現在我知道不可能做下面寫的事情。
假設我想為
Integer
創建一個add
方法,並希望它以這種方式工作:x.add(y)
,其中x
和y
是Integers
。 有可能這樣做嗎? 我唯一想到的就是創建一個不同的類來擴展Integer並為其添加一個方法,但是還有其他方法嗎?
明確地說,我首先質疑它的原因是,我需要創建一個應該能夠做到的通用類,例如,為Integer
和BigInteger
都加法,並且我不想創建檢查哪個班是T
做到這一點。 因此,我認為如果可以執行上述操作將很有用。 現在我仍然不清楚該怎么做。 很抱歉這樣一個令人困惑的問題。
PS:我是Java的新手,也不是講英語的母語的人,所以我知道這個問題可能很愚蠢,或者已經回答了,如果是這樣,對不起。
我有一個不清楚的問題。 如果要在現有Integer類中創建add方法,則不能創建它,因為它是最終的。 相反,您可以在自己的類中創建一個add方法。
public int add (Integer a, Integer b) {
return a + b;
}
更新:
明確地說,我首先質疑它的原因是,我需要創建一個應該能夠做到的通用類,例如,為Integer和BigInteger都加法,並且我不想創建檢查哪個班是T做到這一點。
為什么不使用java.lang.Number
作為泛型類型, Integer
和BigInteger
都是java.lang.Number
子類。
不,您不能向Integer
添加方法,也不能創建擴展Integer
的類,因為Integer
是final
,final類不能在Java中繼承。
如果您只想添加兩個Integer
對象,請使用+
因為Java中具有自動裝箱和拆箱功能,請查看以下內容: https : //docs.oracle.com/javase/specs/jls/se8/html/jls-5 .html#jls-5.1.7 。
您可以創建util類以提供靜態方法來解決此問題:
class Integers {
public static Integer add(Integer i1, Integer i2) {
return i1 + i2;
}
}
順便說一句,您可以在Kotlin中添加擴展方法,在其中您可以執行1.plus(2)
操作來執行plus操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.