AsyncTask's doInBackground(Params… params)

前端 未结 3 1681
野性不改
野性不改 2020-12-05 05:06

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

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

相关标签:
3条回答
  • 2020-12-05 05:43

    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

    0 讨论(0)
  • 2020-12-05 05:46

    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.

    0 讨论(0)
  • 2020-12-05 05:47

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

    0 讨论(0)
提交回复
热议问题