Parameter... parameter
看到如上所示的参数,当时就懵了。。。
如果,您已经很熟悉这种参数表示形式的话,对您来说阅读这篇文章是在浪费生命。
在说本篇文章主题之前,先扯会淡,且看!
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相关推荐
- torch.nn.parameter.Parameter分析
torch.nn.parameter.Parameter 作用 a kind of Tensor that is to be considered a module parameter. Parame ...
- Pytorch之深入理解torch.nn.Parameter()
先看一段代码: import torch import torch.nn as nn a=torch.tensor([1,2],dtype=torch.float32) print(a) print( ...
- pytorch笔记 pytorch模型中的parameter与buffer
1 模型的两种参数 在 Pytorch 中一种模型保存和加载的方式如下:(具体见pytorch模型的保存与加载_刘文巾的博客-CSDN博客) #save torch.save(net.state_di ...
- pytorch中的register_parameter()和parameter()
前言 这两个都是一个东西,使用上有细微差别. 对了,他两的主要作用是:将一个不可训练的类型Tensor转换成可以训练的类型parameter,并将这个parameter绑定到这个module里面,相当 ...
- Verilog中的parameter
1. 概述 在Verilog中我们常常会遇到要将一个常量(算法中的某个参数)赋给很多个变量的情况,如: x = 10; y = 10; z = 10; 如果此时10要改为9,就需要在代码中修改3个地方 ...
- 23,verilog之参数parameter介绍
参数parameter的作用大体与宏定义类似,用来改变一个模块的局部参数,如信号宽度等. 参数parameter的声明有两种格式:一种是verilog-1995,在模块内部声明:另一种是verilog ...
- Java反射09 : 参数Parameter学习示例
超级通道: Java泛型学习系列-绪论 java.lang.reflect.Parameter类提供了用于获取和操作构造器的静态方法. 1.通过Parameter可以做什么 通过Parameter可以 ...
- Pytorch中Parameter的打印和修改
使用Pytorch中Parameter的打印和修改 在实验过程中想要使用梯度方法来修改决策器模型的参数,涉及到参数的修改和一些运算方法的使用,记录一下. Parameter方法 参考官网tutoria ...
- torch.nn.parameter详解
:-- 目录: 参考: 1.parameter基本解释: 2.参数requires_grad的深入理解: 2.1 Parameter级别的requires_grad 2.2Module级别的requi ...
最新文章
- Vivado IP核的综合模式:Global以及Out of context的区别理解
- php7比php5垃圾回收,PHP5和PHP7的垃圾回收机制有什么不同
- Activiti源码 ProcessEngineConfiguration
- C++新特性探究(9.1):functor仿函数探究
- vb.net编写函数应该在哪里_编写代码时清晰至上
- 机器学习 Machine Learning中向量化矩阵化的技巧
- 计算机图形学完整笔记(三):裁剪
- axure元件库 文件上传_一库:便捷的前后台元件库
- 网卡 的linux驱动精灵,下载:Intel PRO100/1000网卡驱动13.0版
- WEBOS——第一次感觉云计算离我们如此之今
- ABAP基本语法(一)附带思维导图学习材料等
- 计组 | 寻址范围的概念与数据寄存器的位数
- C语言两分钟倒计时小程序
- MATLAB——IIR数字滤波器的设计
- 第一阶段团队冲刺值分析
- potplayer默认专辑加载同一文件夹下所有视频,只读取一部分视频,加载视频目录不完整
- intelliJ idea 使用maven创建spring+springMVC+mybatis(SSM)
- 鸿蒙渊主线任务,《天下3》年度资料片蓄势待发,奇幻山河创意无限!
- HTML5前端视频_Vue核心技术视频-张晓飞-专题视频课程
- Linux内核源代码获取教程