关于java多参数的传值问题解析

https://blog.csdn.net/chenzl0723/article/details/78800819

关于java多参数的传值问题解析

2017年12月14日 11:29:11 chenzl0723 阅读数:983

 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chenzl0723/article/details/78800819

有时候,我们传入到方法的参数的个数是不固定的,为了解决这个问题,我们一般采用下面的方法:

  1. 重载,多重载几个方法,尽可能的满足参数的个数。显然这不是什么好办法。
  2. 将参数作为一个数组传入。虽然这样我们只需一个方法即可,但是,为了传递这个数组,我们需要先声明一个数组,然后将参数一个一个加到数组中。

现在,我们可以使用可变长参数解决这个问题。

声明可变长参数方式如下:

public void mymethod(String arg1,Object… args)
  • 1

也就是使用…将参数声明成可变长参数。显然,可变长参数必须是最后一个参数。

请看下面唐僧师傅给悟空讲佛经的例子:

public class Varargs1
{
    public void speak(String name,Object... arguments)
    {
        for(Object object : arguments)
        {

            System.out.println(object);

        }
    }

    public static void main(String[] args)

    {
        Varargs1 va = new Varargs1();

        va.speak("悟空","人和妖精都是妈生的,");

        va.speak("悟空","不同的人是人他妈生的,","妖是妖他妈生的,");

    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

其中speak中的参数被声明成可变长的参数,所以你可以传递给speak方法多个参数。

我没有发现可变参数有什么太大的用处,在J2EE的框架开发中几乎用不到,不过当有时候我们不确定参数到底有几个时倒是可以用这种方式来代替以往传递一个数组的方式。

可变参数同时可以跟固定的参数混合使用。但同时可变参数有一些限制:一个方法的参数中不能同时拥有2种类型的可变参数,也就是说:

public void foo(String ... str,Integer ... i)这样是不行的
  • 1

Java方法参数过多

418

Java方法参数过多   西门狂野 关注 2016.04.15 16:08* 字数 764 阅读 1003评论 1喜欢 4 重构--Java方法参数过多 ...来自: evilcry2013

Java反射机制 invoke调用含多个参数的方法

 2178

通过Java的反射机制调用某个方法,并传入参数。 1.只传入一个参数hello world: import java.lang.reflect.Method; import java.util.D...来自: 孙十万与张八百的专栏

java使用省略号代替多参数

 235

参考地址:https://www.cnblogs.com/fnlingnzb-learner/p/5952716.html点击打开链接来自: m0_37846887的博客

Java中如何一个方法返回多个参数?

06-15

例如定义下面个方法,返回3个值,怎么才能实现,望指教: int foo(int x; int y; int z){ x = 2*x; y = 2*y; z = 2*z; return x, y, z;

java 可变参数方法不支持多个可变参数以及多种类型的替代方法

 4264

记录了 java 可变参数方法不支持多个可变参数以及多种类型的替代方法。来自: chenjhit的博客

java编写多个入参

 1273

面试官提问:如果要你编写程序计算1~10000之间的和,怎么写该程序? 首先你想到不定参数求和的方法  add_01(int a, int... list),通过这个方法进行求和 public s...来自: 黎鉴洪的博客

java类中方法中的参数过多如何处理

 3320

java类中方法中的参数过多如何处理 [问题点数:30分,结帖人nihao6154]             不显示删除回复           显示所有回复            显示星级...来自: evilcry2012的专栏

java 方法参数过多解决方法

 2334

http://www.importnew.com/8926.html来自: saydo

java返回多参数方法与方法的多参数传递

 2092

1 java返回多参数方法      在编写程序时经常遇到从一个方法中返回多个有用信息的情况。例如查找一个数组中最大值与最小值,一般的做法是通过一个for循环,两个if判断找出最值。但是在找到有用信息...来自: Richard_Cai

Java中的参数传递

 2707

Java中没有真正的引用传递 只有值传递! 传引用参数指的还是原来的那个引用,但是Java里面参数类型是对象时是复制了原来的引用到一块新的内存,两者之间没有关系 1:按值传递是什么 指的是在方法...来自: 好久不见

Java多参数方法

 411

Java多参数方法,就是说在不清楚参数应该放多少情况下,只写一个方法就能实现。 可以参考Method.invoke(obj, args)这个方法, public class Params ...来自: 搞学习呢...

慕天远关注

慕天远

23篇文章

排名:千里之外

Jason_Vacant关注

Jason_Vacant

4篇文章

排名:千里之外

落尘曦关注

落尘曦

462篇文章

排名:3000+

-江南听雨-关注

-江南听雨-

112篇文章

排名:千里之外

Java中输入参数的方式

 2011

l Java中输入参数的方式 法一:通过main方法来输入参数:用记事本编辑,先用javac 文件名.java进行编译,再输入Java 文件名 参数1,参数2…… 法二:可使用Eclipse,...来自: sinat_37810981的博客

java向多线程中传递参数的三种方法详细介绍

 2.2万

在传统的同步开发模式下,当我们调用一个函数时,通过这个函数的参数将数据传入,并通过这个函数的返回值来返回最终的计算结果。但在多线程的异步开发模式下,数据的传递和返回和同步开发模式有很大的区别。由于线程...来自: Chona

java 可变参数传值

 2630

到J2SE 1.4为止,一直无法在Java程序里定义实参个数可变的方法——因为Java要求实参(Arguments)和形参(Parameters)的数量和类型都必须逐一匹配,而形参的数目是在定义方法时...来自: Happy_wu的专栏

java 多参数与this

 355

import java.lang.reflect.Array; import java.util.Arrays; import java.util.Scanner;  class Mai...来自: 二丁目的丰功笔记

类似%E4%B8%AD%E5%9B%BD这种字符转换问题

 1.5万

服务器端: String encodeStr = URLEncoder.encode("中国", "utf-8");   System.out.println("处理后:" + encodeStr...来自: my_worldlet的博客

url %E4%BD%A0%E5%A5%BD 编码问题

 3775

url链接粘贴下来后通常会出现类似%E4%BD%A0%E5%A5%BD的编码,一般来说一个中文字对应三个%编码的是utf-8, 一个中文字对应两个%编码的是GB2312。还可以在http://tool...来自: 槑的学习专栏

Android关于中文url编码类似于%E5%8F%8C%E5%AD%90%E5%BA%A7

 1658

转载声明:原文来自:http://blog.csdn.net/zml_2015/article/details/51007932#comments 通过调用第三方APi数据,需要发送请求,之前U...来自: 哎呀旺仔的博客

String fname="%e6%8e%88%e6%9d%832"; url转码成中文

 2854

http://tool.chinaz.com/tools/urlencode.aspx    今天同事遇到的,如果是对方ecode,我直接decode就行, 知道对方怎么编码我们就能知道怎么...来自: u012099568的专栏

java.net.URLEncode编码 与 URLDecode解码问题 %E5%9B%9B%E5%B7%9D

 2642

String   mytext   =   java.net.URLEncoder.encode("中国",   "utf-8");     String   mytext2   =   java....来自: Just do it

Java 可变参数列表(参数类型后面三个点...)

 594

Java类型后面三个点(String…),是从Java 5开始,Java语言对方法参数支持一种新写法,叫可变长度参数列表,其语法就是类型后跟…,表示此处接受的参数为0到多个Object类型的对象,或者...来自: qq_28043563的博客

java 参数类型Object...

 903

1.Object…参数:用Object… o参数类型表示可以传n个任意类型的参数,o为Object[]类型 例方法: public void test(Object… o){ Objec...来自: Tiglle的博客

Java中不确定参数的使用

 290

当我们写一个方法的时候,不确定需要用到结果参数,这个时候可以用到Java的可变参数(不定项参数), 列: public class A { public void print(String.....来自: qq_35383788的博客

JAVA在方法中对象作为参数传递

 1125

java方法中只有值传递,没有传地址,这是和C语言一个较大的差别。在C语言中我们使用传地址,实参把自己的内存地址传给了形参,这样对实参的修改就有效了。但是在java中,将方法A中的某个对象传递到方法B...来自: yytoo2的博客

在一个java方法中如何返回两个参数的值?

 1万

1.return数组或集合。如果只返回2个参数或已确定个数,则返回数组(同一类型使用类型数组,不同类型使用Object[])。参数个数未知时,使用集合。 2.组成一个字符串,使用分隔符分隔。接受后截取...来自: hold on

下载 

关于c++传值交换的问题 word

04-10

关于c++传值交换的问题 关于c++传值交换的问题 关于c++传值交换的问题

下载 

两个窗口传值

06-03

两个窗口传值,关于进程等问题,两个窗口传值,关于进程等问题

使用Map向SQL中传递多个参数

 2166

map类型(分页查询教师信息) 下面是xxx.mapper.java: public List findTeacherByPage(Map map);     //以name字...来自: 慕天远的博客

关于Java函数中的传值问题

 400

最近编程的时候经常遇到编写工具类的情况,有时候是对传入的值进行修改,有的是返回一个变量。那么出现了一个问题当是对传入的值进行修改的时候需要返回吗?如果不返回能否达到修改的目的呢?那么就引申到了Java...来自: Jason_Vacant的博客

SSM项目从零开始到入门008-mybatis传递多个参数问题

 399

mybatis传递多个参数问题 根据用户名和密码查询信息    name     pwd 第一种方案 DAO层方法 public User fi...来自: 落尘曦的博客

java中传递参数的两种方式

 707

本文章参考原博客http://blog.csdn.net/maoyeqiu/article/details/49250339来自: a329661511的博客

如何接收不固定参数个数的参数传值问题

 806

解决接收不固定参数个数的参数传值问题 当一个方法被多个地方调用,然而调用的时候为该方法传入的参数的个数是不固定的的时候怎么办呐? 那么我们可以把方法设置为不固定接受参数个数的形式。如下测试类: ...来自: powerful的博客

java中参数传值和传引用例子详解

 178

1.当传参数为基本数据类型时,在方法体中对形参的修改不会影响到实参的数值 set类: package hello; public class set { public set(int ...来自: ls158390的博客

javaweb中url传递多个参数时后台利用Enumeration集合接收

 363

今天小编在看公司项目代码的时候看到一个平时没有接触过的方法,记录一下。需求:浏览器url传多个参,利用Enumeration集合接收。url:http://localhost:8080/api/get...来自: steven.yang

Java可变参数

 126

一、可变参数知识点及说明 /* * 可变参数 * 1、java SE 5 特性 * 2、形式 Object... 本质Object数组。int... args 自动装箱...来自: gao_zhennan的博客

java 可变参数写法

 364

经常会用到,当方法体的同类型的参数不确定时需要用到这个方法,可以很方便的解决参数不确定的问题。 其实他也等价于 只是经过他的封装会更加方便一些。系统会默认自动创建一个数组。...来自: 张少飞的CSDN

Java参数传值详解

 262

参数传值   方法中最重要的部分之一就是方法的参数,参数属于局部变量,当对象调用方法时,参数被分配内存空间,并要求调用者向参数专递值,即方法被调用时,参数变量必须有具体的值。 传值机制   在J...来自: ydmaizi的博客

java参数过多,怎么处理?

 1742

本人对java的研究甚少,以前只是用一用,从未有过深度的学习,但却意外的发现了一个问题,那就是java的参数过多会出现错误,大家可能会认为,我找到的这个问题没有任何意义,对,我也是这样想的,但是,大家...来自: angelnon的专栏

Java不定参数

 3.3万

先看两个简单的例子,来感受一下Java的不定长度参数  第一个例子:  Java代码   public class VariArgs {          public ...来自: djun100的专栏

Java多参数方法test(String... params)

 1.1万

Java多参数方法,就是说在不清楚参数应该放多少情况下,只写一个方法就能实现。 可以参考Method.invoke(obj, args)这个方法,当然其他类也会有这里就不讨论了。   ...来自: u012264122的专栏

Java程序利用main函数中args参数实现参数的传递

 8029

1.运行Java程序的同时,可以通过输入参数给main函数中的接收参数数组args[],供程序内部使用!即当你在Java命令行后面带上参数,Java虚拟机就直接把它们存放到了main方法中的参数Str...来自: salonhuang的博客

SeleniumWebdriver参数化详解

 2885

一、Selenium参数化介绍 这篇博客主要给大家介绍下Selenium WebDriver如何实现参数化并且应用到实际的自动化测试工作中。 简单说下参数化: 参数化的自动化测试是这样的...来自: hszxd479946的博客

ThreadPoolExecutor线程池参数设置技巧

 1987

一、ThreadPoolExecutor的重要参数   corePoolSize:核心线程数 核心线程会一直存活,及时没有任务需要执行当线程数小于核心线程数时,即使有线程空闲,线程池...来自: java1993666的博客

指数分布族

 1860

指数分布族 指数分布族是指可以表示为指数分布的概率分布。指数分布形式如下: P(y;η)=b(y)exp(ηTT(y)−α(η))P(y;η)=b(y)exp(ηTT(y)−α(η))P(y;\e...来自: Sonnet

java中的经典问题传值与传引用

 1.4万

参数传递的秘密  知道方法参数如何传递吗?  记得刚开始学编程那会儿,老师教导,所谓参数,有形式参数和实际参数之分,参数列表中写的那些东西都叫形式参数,在实际调用的时候,它们会被实际参数所替代。 ...来自: 江南听雨

多参数传值问题

03-05

在html页面上这样写rnDataNavigateUrlFormatString="timepage.aspx?trade_date=0&&driver_id=1rn然后再下一个页面代码部分的Sql语句中接受传值rnwhere trade_date = '" +.Q RequestueryString["trade_date"].Trim().ToString() + "' and driver_id = '" + Request.QueryString["driver_id"].Trim().ToString() + "'rnrn当“driver_id”的值是两个汉字时查询正确 当“driver_id”是两个以上的汉字时两个汉字后面的字就变成方框了,查询为空

关于传参的两种方式 传值与传址 的深入理解 (附 hdu3999

 398

真的真的真的真的好久没码了……………… 最近因为要复习数据结构所以才兴起想要码一些跟考试相关的 于是找了一下 BST 和 AVL 的题做做   结果一下搜就找到了   hdu3999 解法很...来自: Key的博客

关于XML解析存在的安全问题记录

 1033

前段时间被爆出微信支付sdk漏洞,吓得赶紧去项目里看了下微信的SDK(虽然没多少人使用),发现使用的微信sdk不是当前发布的最新的SDK,也就没有使用下面的DocumentBuilderFactory...来自: 梦寻千古的博客

下载 

解决java enctype multipart form-data文件上传传值问题

05-26

解决java enctype multipart form-data文件上传传值问题 不使用jspsmartupload组件 可以轻轻松松 解决传值问题

java可变参数

 181

什么是可变参数在 Java 5 中提供了变长参数,允许在调用方法时传入不定长度的参数。变长参数是Java的一个语法糖,本质上还是基于数组的实现void foo(String... args); voi...来自: sunming0129的博客

Java jwt解析 Java 双目视觉问题 特征点问题 相机标定问题

c++ 关于unique的问题 java与c++读写文件的效率问题 c++ java 多重继承 菱形问题 android调用js多参数 c# 委托多参数 关于python培训班 关于区块链的课程

android IPC通信(下)-AIDL

 4643

android IPC通信(上)-sharedUserId&&Messenger   android IPC通信(中)-ContentProvider&&Socket   这篇我们将会着重介绍AI...来自: Shawn_Dut的专栏

vmware9.0安装ubuntu13.10后无法找到mnt下的hgfs文件夹

 6714

最近在vmware9.0上按照了ubuntu13.10.,然后设置共享文件夹,然后按照vmware tool,但是却无法找到mnt下的hgfs的文件夹。 sudo apt-get install o...来自: tankaro的专栏

在centos 中批量安装cuda

 1502

单机安装cuda   ,可以直接执行 ./cuda_8.0.XX_linux.run ,然后按照提示一步步的安装。但是当有多台机器的需要安装时,这种交互安装就麻烦了。最好有命令行的方式,一步安装。 ...来自: 草亦花开的专栏

搭建图片服务器《二》-linux安装nginx

 4449

nginx是个好东西,Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambl...来自: maoyuanming0806的博客

Spring Boot MyBatis 动态数据源切换、多数据源,读写分离

 18943

项目地址:https://github.com/helloworlde/SpringBoot-DynamicDataSource/tree/dev 在 Spring Boot 应用中使用到了 MyB...来自: HelloWood

frp配置本地服务端口到服务器80端口

 8290

搭建环境: ubuntu 16.04 LTS (本地服务计算机) ubuntu 14.04 LTS(阿里云服务器) apache tomcat 7 java 7 frp 0.8.1 linux 搭建...来自: Anteoy的博客

.NET和java的RSA互通,仅此而已

 26677

RSA .net jva 互通 解决不能互通的问题来自: lubiaopan的专栏

ODAC (odp.net) 从开发到部署

 10122

test来自: 我想我是海 冬天的大海 心情随风轻摆

SSH的端口转发:本地转发Local Forward和远程转发Remote Forward

 62453

http://zhumeng8337797.blog.163.com/blog/static/100768914201172125444948/ 实战 SSH 端口转发 htt...来自: 明明

jquery/js实现一个网页同时调用多个倒计时(最新的)

 16396

jquery/js实现一个网页同时调用多个倒计时(最新的) 最近需要网页添加多个倒计时. 查阅网络,基本上都是千遍一律的不好用. 自己按需写了个.希望对大家有用. 有用请赞一个哦!...来自: websites

工业相机编程模型和流程

 10311

本文详述常见工业相机工作流程,总结它们的编程模型和编程流程。只要弄懂这里面的过程,基本上标准的工业相机都是这样做的,再对工业相机编程就会很简单了。...来自: 文洲的专栏

Hive小文件合并

 19220

Hive的后端存储是HDFS,它对大文件的处理是非常高效的,如果合理配置文件系统的块大小,NameNode可以支持很大的数据量。但是在数据仓库中,越是上层的表其汇总程度就越高,数据量也就越小。而且这些...来自: yycdaizi的专栏

微信支付V3微信公众号支付PHP教程(thinkPHP5公众号支付)/JSSDK的使用

 3739

扫二维码关注,获取更多技术分享 本文承接之前发布的博客《 微信支付V3微信公众号支付PHP教程/thinkPHP5公众号支付》必须阅读上篇文章后才可以阅读这篇文章。由于最近一段时间工作比较忙,...来自: Marswill

linux上安装Docker(非常简单的安装方法)

 89059

最近比较有空,大四出来实习几个月了,作为实习狗的我,被叫去研究Docker了,汗汗! Docker的三大核心概念:镜像、容器、仓库 镜像:类似虚拟机的镜像、用俗话说就是安装文件。 容器:类似一个轻量...来自: 我走小路的博客

Jmeter:修改内存配置

 13182

在压测过程中jmeter报内存溢出,可能的原因有很多。要注意下面三点: 1、单击压测过程中使用过多的线程,官网建议1000-2000。具体看机器的配置和启动应用的情况。(A single JMe...来自: 测试蜗牛,一步一个脚印

人脸检测工具face_recognition的安装与应用

 13477

人脸检测工具face_recognition的安装与应用来自: roguesir的博客

plsql的命令(command)窗口与sql窗口有什么区别20170620

 6515

command窗口是命令窗口,即为sqplus窗口,有命令提示符,识别sqlplus命令,基本的命令都可以执行 sql仅可执行DDL、select、DML等...来自: Ape55的博客

寻找连通线,参考八后算法递归,可用于验证码去除连续干扰线

 19804

#include using namespace std;#define M 5#define N 4int a[M][N] = {0,1,0,1,0,1,1,0,1,1,0,0,1,0,1,0,1,...来自: miracle的专栏

3D CNN框架结构各层计算

 21321

3D CNN框架结构各层详细计算过程 这篇博客主要详细介绍3D CNN框架结构的计算过程,我们都知道3D CNN 在视频分类,动作识别等领域发挥着巨大的优势,前两个星期看了这篇文章:3D Con...来自: AUTO1993的博客

[转]极线几何约束

 7794

来自: volkswageos的专栏

训练网络出现loss突然上升或者直接NaN......

 4186

粗略写一下: 解决方式,把初始化方式换掉。。。我们之前用的切断正态分布,,现在考虑下: http://blog.csdn.net/shuzfan/article/details/51338...来自: jiachen0212的博客

Two-pass连通域标记中的union-find结构

 5106

在Two-pass连通域标记中,第一次标记(first pass)时从左向右,从上向下扫描,会将各个有效像素置一个label值,判断规则如下(以4邻域为例): 1)         当该像素的左邻像...来自: lichengyu的专栏

加密算法介绍及加密算法的选择

 8232

加密算法介绍 一. 密码学简介 据记载,公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起...来自: leolewin的博客

JAVA结合testng断言verify(断言失败不中断继续执行)

 2680

 原理: 1.自已构造一个断言类,把Assert.assertEquals给try catch住。 2.利用testng的监听类在测试方法运行结束后进行分析。 代码: 断言类: ...来自: nicolas_li的专栏

web.config中的session配置详解

 6656

     打开某个应用程序的配置文件Web.config后,我们会发现以下这段: < sessionState mode="InProc" stateConnectionString="tcpip=1...来自: yszwn的专栏

DirectX修复工具增强版

 1741116

最后更新:2018-12-20 DirectX修复工具最新版:DirectX Repair V3.8 增强版  NEW! 版本号:V3.8.0.11638 大小: 107MB/7z格式压缩,18...来自: VBcom的专栏

关于SpringBoot bean无法注入的问题(与文件包位置有关)

 38665

问题场景描述整个项目通过Maven构建,大致结构如下: 核心Spring框架一个module spring-boot-base service和dao一个module server-core 提供系统...来自: 开发随笔

内连接,外链接(左连接、右连接、全连接),交叉连接大总结

 8083

1.什么是连接查询呢?     概念:根据两个表或多个表的列之间的关系,从这些表中查询数据。     目的:实现多个表查询操作。 2.分类: 首先划分一下,连接分为三种:内...来自: basycai的博客

强连通分量及缩点tarjan算法解析

 21170

强连通分量: 简言之 就是找环(每条边只走一次,两两可达) 孤立的一个点也是一个连通分量   使用tarjan算法 在嵌套的多个环中优先得到最大环( 最小环就是每个孤立点)   定义: int Ti...来自: 九野的博客

chenzl0723

关注

原创

10

粉丝

4

喜欢

8

评论

5

等级:

访问:

7886

积分:

193

排名:

96万+

勋章:

最新文章

个人分类

展开

归档

热门文章

最新评论

联系我们

微信客服

微信客服

QQ客服

QQ客服

[email protected]QQ客服

客服论坛400-660-0108

工作时间 8:30-22:00

关于我们招聘广告服务 网站地图

百度提供站内搜索 京ICP证09002463号

©1999-2019 江苏乐知网络技术有限公司

江苏知之为计算机有限公司 北京创新乐知信息技术有限公司版权所有

经营性网站备案信息网络110报警服务

北京互联网违法和不良信息举报中心

中国互联网举报中心

  •  

    1

  •  
  •  
  •  
  •  
  •  

关闭

猿学习

猜你喜欢

转载自blog.csdn.net/u013452335/article/details/86545295