param参数数组使用注意点

 1、只能为一位数组使用 params 关键字,不能为多为数组使用,否则编译不能通过。

 2、不能只依赖 params 关键字来重载一个方法。 params 关键字不构成方法签名的一部分,例如:

    

//编译时错误:重复的声明
public static int Max(int[] paramList)
...
public static int Max(params int[] paramList)
...

  3、不允许为 params 数组指定 ref 或 out修饰符。

  4、params 数组必须是方法的最后一个参数,没个方法中也只能有一个 params 数组参数。

//编译时错误
public static int Max(params int[] paramList,int i)
...

  5、非params方法优先

public static int Max(int first,int second)    //优先
...
public static int Max(params int[] paramList)
...

  对于上面的重载方法,传入两个 int 参数时,调用上面的方法,传入其它任意数量的 int 参数时,调用下面的方法。这样做并非多余,实则起到优化作用。

  6、有歧义的重载编译不能通过。

//编译时错误
public static int Max(params int[] paramList)
...
public static int Max(int i, params int[] paramList)
...

本文摘自:https://www.cnblogs.com/joy99


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您需要使用 Java HttpClient 发送表单参数数组,可以使用以下步骤: 1. 创建一个 HttpClient 实例: ```java HttpClient client = HttpClient.newHttpClient(); ``` 2. 创建一个 HttpPost 请求: ```java HttpPost request = new HttpPost(url); ``` 3. 创建一个表单参数数组: ```java List<NameValuePair> params = new ArrayList<>(); params.add(new BasicNameValuePair("param1", "value1")); params.add(new BasicNameValuePair("param2", "value2")); params.add(new BasicNameValuePair("param3", "value3")); ``` 4. 将表单参数数组添加到 HttpPost 请求中: ```java request.setEntity(new UrlEncodedFormEntity(params, StandardCharsets.UTF_8)); ``` 这里使用了 `UrlEncodedFormEntity` 类来将参数编码为 URL 编码形式,并将其设置为请求的实体。 5. 发送请求并获取响应: ```java HttpResponse response = client.execute(request); ``` 完整示例代码如下: ```java import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.utils.URIBuilder; import org.apache.http.client.utils.URLEncodedUtils; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; public class HttpClientExample { public static void main(String[] args) throws URISyntaxException, IOException { String url = "http://example.com"; List<NameValuePair> params = new ArrayList<>(); params.add(new BasicNameValuePair("param1", "value1")); params.add(new BasicNameValuePair("param2", "value2")); params.add(new BasicNameValuePair("param3", "value3")); URI uri = new URIBuilder(url) .setParameters(params) .build(); HttpClient client = HttpClientBuilder.create().build(); HttpPost request = new HttpPost(uri); request.setEntity(new UrlEncodedFormEntity(params, StandardCharsets.UTF_8)); HttpResponse response = client.execute(request); String responseBody = EntityUtils.toString(response.getEntity()); System.out.println(responseBody); } } ``` 注意:这里使用了 Apache HttpComponents 库来发送 HTTP 请求。如果您还没有添加该库,请先下载并添加到您的项目中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值