有没有办法让Method接受3个或更多参数但可以接受1?
public void getAllSongs(String one, String two, String Three){
dosomething
}
getAllSongs("tada");
也许不是最好的解释方式,但我不知道怎么回事。 我希望在更多方面使用相同的方法.. 它甚至可能吗?
答案 0 :(得分:6)
另一种方法是编写像
这样的代码public void getAllSongs(String... songs){
for(String song : songs){
//do somethihg
}
}
通过这种方式,您可以像
一样调用您的代码getAllSongs("song");
getAllSongs("song1", "song2"......)
答案 1 :(得分:4)
您可以使用方法重载:
public void getAllSongs(String one ){
getAllSongs(one,null,null);
}
public void getAllSongs(String one, String two, String Three){
dosomething
}
getAllSongs("tada");
答案 2 :(得分:2)
可以调用具有可变数量参数的方法,例如
public void getAllSongs(String ... songs)
答案 3 :(得分:0)
我不确切地知道你想问什么。 但我认为它应该是
public void getAllSongs(String... number) {
// do something
}
答案 4 :(得分:0)
使用不同数量的参数重载相同的方法,如下所示:
public void getAllSongs(String arg1) {
getAllSongs(arg1, "default arg2", "default arg3");
}
public void getAllSongs(String arg1, String arg2) {
getAllSongs(arg1, arg2, "default arg3");
}
public void getAllSongs(String arg1, String arg2, String arg3) {
// do stuff with args
}
答案 5 :(得分:0)
是的,你当然可以,它被称为多态或者更具体地说是方法重载:
在Java中,可以在类中定义两个或多个同名方法,前提是参数列表或参数不同。这个概念称为方法重载。
查看Polymorphism in Java – Method Overloading and Overriding。
示例:
void demo (int a) {
System.out.println ("a: " + a);
}
void demo (int a, int b) {
System.out.println ("a and b: " + a + "," + b);
}
答案 6 :(得分:0)
您可以通过使用(重载)具有不同数量的输入值的方法来解决此问题。用户可以使用只有一个/两个/三个...值来调用一个。如果需要,这个可以使用更多值来调用它。它可能是这样的:
public void getAllSongs(String one){
getAllSongs(one, null, null)
}
public void getAllSongs(String one, String two){
getAllSongs(one, two, null)
}
public void getAllSongs(String one, String two, String Three){
dosomething
}
电话可能是:
getAllSongs("bla","blub");
使用数组的另一种可能性:
public void getAllSongs(ArrayList<String> songs){
do something
};
List<String> songs= new ArrayList<String>();
songs.add("bla");
songs.add("blub");
getAllSongs(songs);
ArrayList是一个aarray,其动态大小取决于其中的值的数量。在你的函数中,你可以迭代这个数组
答案 7 :(得分:0)
NO。 但它可能在C ++ / C#中(使用默认值分配参数) 例如。 :
public void getAllSongs(String one, String two=string.Empty, String Three=string.Empty){
dosomething
}
getAllSongs("tada");
但另外,你可以使用Pattern
public void getAllSongs(String one, String two, String Three){
dosomething
}
public void getAllSongs(String one, String two){
getAllSongs(one,two,"");
}
public void getAllSongs(String one){
getAllSongs(one,"","");
}
getAllSongs("tada");