java参数怎么用(Java方法参数...是什么意思)

private Void test(String... fileNames){

......

}

String… fileNames 代表什么意思?类型后面三个点(String…),是从Java 5开始,Java语言对方法参数支持一种新写法,叫可变长度参数列表,其语法就是类型后跟…,表示此处接受的参数为0到多个Object类型的对象,或者是一个Object[]。 例如我们有一个方法叫做test(String…strings),那么你还可以写方法test(),但你不能写test(String[] strings),这样会出编译错误,系统提示出现重复的方法。

在使用的时候,对于test(String…strings),你可以直接用test()去调用,表示没有参数,也可以用去test(“aaa”),也可以用test(new String[]{“aaa”,“bbb”})。

另外如果既有test(String…strings)函数,又有test()函数,我们在调用test()时,会优先使用test()函数。只有当没有test()函数式,我们调用test(),程序才会走test(String…strings)。

所以可以看到下面这个例子,虽然是可变程度参数,...,但是也可以传入,一个参数,并且使用的时候可以用参数[0],来获取参数:

String imgUri = img_ip "/" imgurl; ImageView imgView = (ImageView) findViewById(R.id.layout_mdd_frontphoto_img_face); new DownloadImageTask(imgView).execute(imgUri);

java参数怎么用(Java方法参数...是什么意思)(1)

public class DownloadImageTask extends AsyncTask<String, Void, Bitmap> { ImageView bmImage; public DownloadImageTask(ImageView bmImage) { this.bmImage = bmImage; } @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected Bitmap doInBackground(String... urls) { String urldisplay = urls[0]; Bitmap mIcon11 = null; try { InputStream in = new java.net.URL(urldisplay).openStream(); mIcon11 = BitmapFactory.decodeStream(in); } catch (Exception e) { //Log.e("Error", e.getMessage()); e.printStackTrace(); } return mIcon11; } @Override protected void onPostExecute(Bitmap bitmap) { bmImage.setImageBitmap(bitmap); bmImage.setVisibility(View.VISIBLE); super.onPostExecute(bitmap); } }

java参数怎么用(Java方法参数...是什么意思)(2)

可以看到,上面用的urls[0]来获取的参数.

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页