AsyncTask's doInBackground(Params… params)

I’m unfamiliar with the parameter syntax in doInBackground(Params... params)

What is this type of thing called, and how do I utilize it?

Here is Solutions:

We have many solutions to this problem, But we recommend you to use the first solution because it is tested & true solution that will 100% work for you.

Solution 1

As devA and VVV have said, that is called “varargs”. Effectively, the following two lines of code are equivalent:

public void makeLemonade(String[] args) {

and

public void makeLemonade(String... args) {

the code inside the method would be the same, but when it was called, they would be called differently. The first would need to be called like this:

makeLemonade(new String[]{"lemon1", "lemon2", "lemon3"});

while the second one’s method signature could have 0 to (an assumed)infinite number of arguments, but they would all need to be String arguments. All of the following calls would work:

makeLemonade("lemon1");
makeLemonade("lemon4", "lemon7", "lemon11", "lemon12"); 
makeLemonade();
// ... etc ...

A subtle difference between the two is that you can call makeLemonade() legally here if you’re using varargs.

Solution 2

They are called Var Args.. Just like an array.. U can pass multiple items and just access like params[0].. etc..

Solution 3

Params... params represents a vararg. It was added in J2SE5.0.
It means you can pass any number of arguments or you can say array of arguments params[0]

Thanks
Deepak

Note: Use and implement solution 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply