JAVA(1)之关于对象数组作形参名的方法的使用
public class Test{
int tour;
public static void cs(Test a[]) {
for (int i = 0; i < a.length; i++) {
a[i]=new Test();//此处为解决代码
a[i].tour=i;
}
}
之前只是把对象数组作为形参时,然后Eclipse报出Exception in thread "main" java.lang.NullPointerException的异常,后来查了一下,是因为对象数组的每一个元素还没有分配空间,所以添加完代码以后,此方法正常运行。
总结:1.基本类型数组用new运算之后,就直接给每个数组元素分配了空间,而我们自定义的对象数组属于引用型数组,所以在使用时,需要用for循环对每个数组元素进行new运算, 分配空间。
2.而String类型数组也是引用型数组,但是库里有,所以Eclipse默认它为“基本类型”。(在这里我纠正一下,String类型数组元素也要进行一下new运算,才有新的内存空间,不然就是空引用)
补充:上面的解决办法继续优化,即为
public class Test{
int tour;
public static void cs(Test a[]) {
for (int i = 0; i < a.length; i++) {
a[i].tour=i;
}
public static void main (String[] args){
Test[] c =new Test[5];
for(int i=0;i<c.length;i++)//直接在对象数组创建后,再另外为每个对象数组单个元素通过
c[i]=new Test();//new运算分配新的动态内存空间;
}
}
上述说明只代表个人认知,如果与实际不符,还望前辈指正。
JAVA(1)之关于对象数组作形参名的方法的使用的更多相关文章
- Java实现把两个数组合并为一个的方法总结
本文实例讲述了Java实现把两个数组合并为一个的方法.分享给大家供大家参考,具体如下: 在Java中,如何把两个String[]合并为一个? 看起来是一个很简单的问题.但是如何才能把代码写得高效简洁, ...
- JAVA笔记4__static关键字/对象数组/foreach/方法的可变参数
/** * static关键字:修饰属性(实质就是全局变量).方法(无需本类的对象即可调用此方法).类. * 1.static方法只能调用static方法 * 2.static方法只能访问static ...
- Java中利用MessageFormat对象实现类似C# string.Format方法格式化
我们在写C#代码的时候常常会使用到string.Format("待格式化字符串{0},{1},....",参数1,参数2,...),来格式化字符串,特别是拼接字符的时候,这种方式使 ...
- java使用反射给对象属性赋值的两种方法
java反射无所不能,辣么,怎么通过反射设置一个属性的值呢? 主程序: /** * @author tengqingya * @create 2017-03-05 15:54 */ public cl ...
- js 对象数组删除和查找的方法
deleteItem: function (array,item) { const index = this.array.findIndex(text => text.name === item ...
- java中HttpServletRequest常用获取url、资源名等方法总结
HttpServletRequest客户端获取请求,客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中.所以我们能够从对象中获取相应信息 端口 request.get ...
- java比较两个对象是否相等的方法
java比较两个对象是否相等直接使用equals方法进行判断肯定是不会相同的. 例如: Person person1 =new Person("张三"); Person pe ...
- JS中的内置对象简介与简单的属性方法
JS中的数组: 1.数组的概念: 数组是在内存中连续存储的多个有序元素的结构,元素的顺序称为下标,通过下标查找对应元素 2.数组的声明: ①通过字面量声明var arr1 = [,,,,] JS中同一 ...
- Java基础语法04面向对象上-类-属性-方法-可变参数-重载-递归-对象数组
类 面向对象是一种思想,一般指将事务的属性与方法抽出总结为模板(类/class),处理事务时通过类创建/new出对象由对象的功能/方法去完成所要计算处理的事情. 面向过程:POP:以过程,步骤为主,考 ...
随机推荐
- 隐写工具F5-steganography的使用
1.git clone https://github.com/matthewgao/F5-steganography 2.进入F5-steganography-master文件夹,在空白处 ctrl+ ...
- Git 从远端指定分支克隆代码到本地
不指定分支默认是master git clone + clone 地址 # 例如 git clone https://amc-msra.visualstudio.com/xxx/_xx/xxxxxx ...
- 16day 引号符号系列
'' 输出的信息,所见即所得 [root@oldboyedu oldboy]# echo 'oldboy $LANG $oldgirl' oldboy $LANG $oldgirl "&qu ...
- testng如何实现并发
参考: https://www.cnblogs.com/znicy/p/6534893.html
- 下载图片(vue 下载图片)
downloadImg(){ const url = this.imgUrl // window.open(_this.detail.imgUrl) let xmlhttp=new XMLHttpRe ...
- 【二叉搜索树】的详细实现(C++)
二叉搜索树的概念 从前面讨论折半搜索的性能中可知,如果每次从搜索序列的中间进行搜索,把区间缩小一半,通过有限次迭代,很快就能通近到所要寻找的元素.进一步,如果我们直接输入搜索序列,构造出类似于折半搜索 ...
- zookeeper and kafka
kafka安装前期准备: 1,准备三个节点(根据自己需求决定) 2,三个节点上安装好zookeeper(也可以使用kafka自带的zookeeper) 3,关闭防火墙 chkconfig iptab ...
- Linux 下使用 ffmpeg 大批量合并 ts 文件, mp4切割文件为m3u8
见范例 ffmpeg -i "concat:file001.ts|file002.ts|file003.ts|file004.ts......n.ts" -acodec copy ...
- php的str_pad()函数
实例 填充字符串的右侧,到30个字符的新长度 <?php $str = "Hello World"; echo str_pad($str,30,"."); ...
- django view 视图控制之数据返回的视图函数
八.视图 view 概述:views.py定义的python函数,它接受Web请求并且返回Web响应. 有几个页面就有几个视图view user出入url地址,发送request--->urls ...