您的位置 首页 java

Java方法参数…是什么意思

private Void test(String… file Names){

……

}

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方法参数...是什么意思

   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. decode Stream(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方法参数...是什么意思

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

文章来源:智云一二三科技

文章标题:Java方法参数…是什么意思

文章地址:https://www.zhihuclub.com/192765.shtml

关于作者: 智云科技

热门文章

网站地图