java-请问,先定义,后事例化的好处是什么。

问题描述

请问,先定义,后事例化的好处是什么。

如:String[] arr=null;
arr= new String[10];
我项目里面到处这么写,造成代码难以阅读。这样写有什么好处吗;

解决方案

假如你开始不知道你数组的长度,动态获取的话,你可以先定义,再赋值大小。

解决方案二:

一般是用在可能不同情况发生的时候。例如IO流读写时,可能会出现异常,需要在catch块处理使用。在finally里面关闭流等等。
正常情况下,没有执行分支不需要这样写

解决方案三:

你这种情况我建议写在一起。不是所有都要这样。举个例子:如果一个对象 在for循环里面边定义并初始化,岂不是每次循环的时候都要分配一个内存空间,这样会造成很多垃圾还可能降低效率甚至内存溢出。如果在循环外定义一次,再初始化就会好很多。具体情况具体面对吧。

解决方案四:

这两句跟合起来String[] arr=new String[10];效果是一样的,只是写法不一样,一个是先定义后实例化,一个是定义的同时实例化

解决方案五:

好处就是数组的长度可以动态修改,,

时间: 2024-10-30 15:32:41

java-请问,先定义,后事例化的好处是什么。的相关文章

java请问如何让other_main.java 可以引用包 Main.class 中的Yh的类

问题描述 java请问如何让other_main.java 可以引用包 Main.class 中的Yh的类 Main.java package Test; class Yh { String name = null; Yh(String name) { this.name = name; } public boolean register() { if(name =="OK") { System.out.println("Ok"); return true; } e

跪求大神-java中static定义变量

问题描述 java中static定义变量 运行结果为什么是0不是1? 解决方案 因为你定义了参数x 根据就近原则,你的x++访问的是这个参数x变量,而不是成员变量x 解决方案二: 因为你的参数名也叫x,x++ 这里是将参数x自增,不是全局变量x. 所以全局变量x里面的值还是0. 解决方案三: class Test { public static int x = 9; public static void name(int x) { x ++; System.out.println(x); //为

中文乱码-ckdinder整合进java里面选择文件后返回路径名带中文的变成乱码

问题描述 ckdinder整合进java里面选择文件后返回路径名带中文的变成乱码 在java上使用ckfinder,上传文件成功,中文名也行,就是选择这个带中文名的文件时,返回的路径变成乱码 解决方案 URIEncoding=""UTF-8""你看看你的tomcat有没有设置这个

Java swing组件的串行化和读取

由于JButton和JTree都已经实现了Serializable接口,因此Java swing组件 的串行化和读取是可以做到的. 方法就是使用ObjectInputStream读取文件中的对象,使用 ObjectOutputStream把对象写入文件. 如: import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.I

java中这种定义为什么非法,求解

问题描述 java中这种定义为什么非法,求解 解决方案 可以啊,但是不能这样连着写,类中定义的变量是成员变量,成员变量的赋值只能在代码块或者构造函数中. 改成如下这样就可以了: class A { int i, j; { i = j = 10; } public static void main(String[] args) { A a = new A(); System.out.println(a.i); System.out.println(a.j); } } 这样就能测试i,j都被初始化为

link环境下制作一款订餐软件,请问拆库后如何判断哪些数据需要保留,如何独立?

问题描述 link环境下制作一款订餐软件,请问拆库后如何判断哪些数据需要保留,如何独立? link环境下制作一款订餐软件,请问拆库后如何判断哪些数据需要保留,如何独立? 解决方案 http://wentao365.iteye.com/blog/1740691 数据库水平切分(拆库拆表)的实现原理解析 看下有没有帮助 解决方案二: 拆库?是什么概念? 有什么数据需要保留,是需要人为判断的.再根据判断,来编写对数据库的操作,如 SQL 来完成想要的操作.

64位-新人学习Java、安装jdk8后javac用不了了、Java正常使用

问题描述 新人学习Java.安装jdk8后javac用不了了.Java正常使用 我的是WIN1064位系统安装JDK8.调出dos命令输入java有提示.输入Javac时就直接挂了.试了好长时间.都不行.不知道是不是环境变量出了问题.我的是WIN10的64位系统.jdk选择默认安装位置(C:Program FilesJavajdk1.8.0_05) 下面是我的环境变量配置 CLASSPATH:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar; JAVA

新手提问大神,java源代码写好后该怎么用,打包成exe?还是有别的更好的方法

问题描述 新手提问大神,java源代码写好后该怎么用,打包成exe?还是有别的更好的方法 有开发经验的大神告诉我,java源代码写好后该怎么用,打包成exe?还是有别的更好的方法,有的提到了脚本之类的 解决方案 点进去看看,试着去用用http://jingyan.baidu.com/article/358570f6727bb7ce4724fc88.html 解决方案二: 点进去看看,试着去用用http://jingyan.baidu.com/article/358570f6727bb7ce472

mysql-新手求教 java中使用MYsql后查询结果怎么输出到别的地方

问题描述 新手求教 java中使用MYsql后查询结果怎么输出到别的地方 按钮点击事件做完了能连接到数据库可惜输入条件后点击查询只在Eclipse中显示数据库连接成功 而查询并没有显示查询结果 求解 解决方案 在后台找执行的sql,在 数据库中查询,看有没有数据 解决方案二: 参考 http://zhidao.baidu.com/question/559756306057754404.html 解决方案三: 数据库查询结果,可以直接用System.out.print打印到控制台界面: 也可以创建