看到如上所示的参数,当时就懵了。。。

如果,您已经很熟悉这种参数表示形式的话,对您来说阅读这篇文章是在浪费生命。

在说本篇文章主题之前,先扯会淡,且看!

public class Ubuntu {public static void main(String[] args) {String str = "";System.out.println("str.length(): " + str.length());String[] strArrays  = new String[]{""}; System.out.println("strArrays.length(): " + strArrays.length);System.out.println("strArrays[0].length(): " + strArrays[0].length());}
}

这里主要想说明两个问题:

1. 判断字符串 String 的长度可以使用方法 length(), 判断字符串数组 String[] 的长度可以使用属性 length

2. ""对于字符串来说长度为0,但是对于数组来说表示字符数组中有一个长度为0的元素。

主角开始上场,实例代码如下:

public static void getInfo(String... str) { //可变参数int len = str.length;if(len <= 0) {System.out.println("params's len is ZERO!");} for(int i=0; i<len; i++) {System.out.println("str = " + str[i]);}
} 

由上面,可以看出

String... str 表示字符串数组,而不是字符串。因为调用 str.length 而不是调用 str.length()。

测试代码,如下:

public class Ubuntu {public static void main(String[] args) {getInfo("mark");getInfo(new String[] {"simon", "amy", "jack", "mark"});getInfo();getInfo("");}
}

显示结果:

str = mark
str = simon
str = amy
str = jack
params's len is ZERO!
str = 

其中,params's len is ZERO!是 getInfo()的结果。str = 是getInfo("")的结果。

修改代码,如下:

public static void getInfo(String... str) { //可变参数if(str == null) {System.out.println("params is NULL!");} else {int len = str.length;if(len <= 0) {System.out.println("params's len is ZERO!");} for(int i=0; i<len; i++) {System.out.println("str = " + str[i]);}}
}
public static void main(String[] args) {getInfo(null);
}

结果:

params is NULL!

那么,是否支持基本数据类型呢?看下面代码,你就会明白啦???!!!

public static void getAge(int... num) {if (num == null) {System.out.println("params is NULL!");} else {int len = num.length;if (len <= 0) {System.out.println("params's len is ZERO!");}for (int i = 0; i < len; i++) {System.out.println("num = " + num[i]);}}
}
public static void main(String[] args) {getAge(1);getAge(2, 3);getAge();getAge(null);
}

显示结果:

num = 1
num = 2
num = 3
params's len is ZERO!
params is NULL!

ok,现在应该明白 Parameter... parameter 形式参数的含义了吧,就是用来表示可变数组,数组的类型不仅可以是引用类型还是基本数据类型。

Parameter... parameter相关推荐

  1. torch.nn.parameter.Parameter分析

    torch.nn.parameter.Parameter 作用 a kind of Tensor that is to be considered a module parameter. Parame ...

  2. Pytorch之深入理解torch.nn.Parameter()

    先看一段代码: import torch import torch.nn as nn a=torch.tensor([1,2],dtype=torch.float32) print(a) print( ...

  3. pytorch笔记 pytorch模型中的parameter与buffer

    1 模型的两种参数 在 Pytorch 中一种模型保存和加载的方式如下:(具体见pytorch模型的保存与加载_刘文巾的博客-CSDN博客) #save torch.save(net.state_di ...

  4. pytorch中的register_parameter()和parameter()

    前言 这两个都是一个东西,使用上有细微差别. 对了,他两的主要作用是:将一个不可训练的类型Tensor转换成可以训练的类型parameter,并将这个parameter绑定到这个module里面,相当 ...

  5. Verilog中的parameter

    1. 概述 在Verilog中我们常常会遇到要将一个常量(算法中的某个参数)赋给很多个变量的情况,如: x = 10; y = 10; z = 10; 如果此时10要改为9,就需要在代码中修改3个地方 ...

  6. 23,verilog之参数parameter介绍

    参数parameter的作用大体与宏定义类似,用来改变一个模块的局部参数,如信号宽度等. 参数parameter的声明有两种格式:一种是verilog-1995,在模块内部声明:另一种是verilog ...

  7. Java反射09 : 参数Parameter学习示例

    超级通道: Java泛型学习系列-绪论 java.lang.reflect.Parameter类提供了用于获取和操作构造器的静态方法. 1.通过Parameter可以做什么 通过Parameter可以 ...

  8. Pytorch中Parameter的打印和修改

    使用Pytorch中Parameter的打印和修改 在实验过程中想要使用梯度方法来修改决策器模型的参数,涉及到参数的修改和一些运算方法的使用,记录一下. Parameter方法 参考官网tutoria ...

  9. torch.nn.parameter详解

    :-- 目录: 参考: 1.parameter基本解释: 2.参数requires_grad的深入理解: 2.1 Parameter级别的requires_grad 2.2Module级别的requi ...

最新文章

  1. Vivado IP核的综合模式:Global以及Out of context的区别理解
  2. php7比php5垃圾回收,PHP5和PHP7的垃圾回收机制有什么不同
  3. Activiti源码 ProcessEngineConfiguration
  4. C++新特性探究(9.1):functor仿函数探究
  5. vb.net编写函数应该在哪里_编写代码时清晰至上
  6. 机器学习 Machine Learning中向量化矩阵化的技巧
  7. 计算机图形学完整笔记(三):裁剪
  8. axure元件库 文件上传_一库:便捷的前后台元件库
  9. 网卡 的linux驱动精灵,下载:Intel PRO100/1000网卡驱动13.0版
  10. WEBOS——第一次感觉云计算离我们如此之今
  11. ABAP基本语法(一)附带思维导图学习材料等
  12. 计组 | 寻址范围的概念与数据寄存器的位数
  13. C语言两分钟倒计时小程序
  14. MATLAB——IIR数字滤波器的设计
  15. 第一阶段团队冲刺值分析
  16. potplayer默认专辑加载同一文件夹下所有视频,只读取一部分视频,加载视频目录不完整
  17. intelliJ idea 使用maven创建spring+springMVC+mybatis(SSM)
  18. 鸿蒙渊主线任务,《天下3》年度资料片蓄势待发,奇幻山河创意无限!
  19. HTML5前端视频_Vue核心技术视频-张晓飞-专题视频课程
  20. Linux内核源代码获取教程

热门文章

  1. stm32f103c8t6最小系统引脚及功能原理图
  2. 什么是双亲委派,有什么好处?
  3. 基于TP5、EasyWeChat、fastadmin微信公众号网页授权登录
  4. 细线表格-今日小说排行榜
  5. WAP Push SP接口协议
  6. AD报错 unknown pin
  7. 计算机打印unknow,系统安装打印机驱动提示unknown device解决方法
  8. 少儿编程Scratch学习教程2--官方初学指南
  9. 谁是窃贼(逻辑推理题)
  10. [4G5G专题-93]:流程 - 4G LTE 终端在RRC 连接状态下的小区切换通用过程