一些小技巧

原创 2015年07月11日 10:16:12

1 Arrays.copyOfRange

Arrays.copyOfRange返回的区间是一个左闭右开区间

2 数组初始化

数组中所有的元素在初始化时,数字初始化为0,boolean初始化为false,对象初始化为null      


3 数组的拷贝与扩容

Java数组是不能改变其容量的,如果需要对数组进行扩容,可以用Arrays.copyOf这个静态方法,它的作用是把一个数组的值按照指定长度拷贝到一个新的数组中。ArrayList之所以能够实现动态扩容,也是应用的这个方法。

int []arr={1,2,3,4,5};
int []b=Arrays.copyOf(arr, 20);
System.out.println(b[14]);
如果数组元素是值类型,那么多余的元素赋值为0,boolean类型赋值false。如果长度小于原长度,只复制最前面的数据元素。

4 多维数组

Java实际上没有多维数组,只有一维数组。多维数组可以理解为“数组的数组”。因此在声明多维数组时,第一个维度是必须声明的,可以理解为它是一个一维数组的长度。而第二个维度是可变的。

int [][] arr2=new int [10][5];
int D1Length=arr2.length;
  if(D1Length>0)
     {
       System.out.println("数组的第二个维度:"+arr2[0].length);
     }
System.out.println("数组的第一个维度:"+D1Length);

5 final实例域

类的实例变量被final修饰时,它被认为是“常量”。然后这只针对于基本数据类型和String类型,对于引用类型,这并不意味着它是一个常量。只能说这个引用所指向的位置不再发生变化,而依然可以调用该对象的set等方法对其属性进行修改。

6 instanceof与强制转换

在将超类转换成子类之前,应使用instanceof进行检查

7 打印数组

如果直接调用数组的toString方法,将得到Object类的形式,如果想要打印数组,可以使用Arrays.toString方法。

8 trimToSize方法

当一个ArrayList的大小固定了的时候,使用这个方法可以将ArrayList的储存空间调整为当前元素数量所需要的储存空间。垃圾回收器将会回收多余的空间。

 public void trimToSize() {
        modCount++;
        if (size < elementData.length) {
            elementData = (size == 0)
              ? EMPTY_ELEMENTDATA
              : Arrays.copyOf(elementData, size);
        }
    }

9 ArrayList<Integer> 与int[]

在Java中,ArrayList的尖括号中类型参数不允许为基本类型 ,只能是它的包装类型。由于每个值分别包装在对象中,所以ArrayList<Integer>的效率远远低于int[]数组。







版权声明:本文为博主原创文章,未经博主允许不得转载。

30个java编程小技巧

Java是目前最流行的编程语言之一——它可以用来编写Windows程序或者是Web应用,移动应用,网络程序,消费电子产品,机顶盒设备,它无处不在。 有超过30亿的设备是运行在Java之上的。根据...
  • my_name_nb
  • my_name_nb
  • 2017年03月28日 21:33
  • 960

HTML小技巧的一些小技巧

1.怎样定义网页语言(字符集)?             在制作网页过程中,你首先要定义网页语言,以便访问者浏览器自动设置语言,而我们用所见即所得的HTML工具时,都没有注意到这个问题,因为它是默认...
  • shipeng22022
  • shipeng22022
  • 2015年07月16日 13:11
  • 2930

[Unity技巧]一些小技巧和小脚本

转载自Cocos2D开发网–Cocos2Dev.com 原文博客:http://www.cocos2dev.com/?p=618 一.让Sprite接受灯光影响 1. Assets->Creat...
  • lyh916
  • lyh916
  • 2015年05月23日 20:14
  • 1229

Android小技巧——TextView的一些小技巧

1、TextView加下划线,中划线,抗锯齿,设定长度,跑马灯等。。
  • abbydong
  • abbydong
  • 2016年03月15日 17:20
  • 872

Android 开发中的一些小技巧

 dip转px [java] view plaincopyprint? public int convertDipOrPx(int dip) {      float s...
  • killcwd
  • killcwd
  • 2014年05月19日 09:50
  • 472

Linux中的一些小技巧

1)ubuntu把默认的bash替换成了dash,所以写shell脚本时会有问题。 可以用 sudo dpkg-reconfigure dash 执行,然后选择”否“。 2)输入 sudo pas...
  • u010111422
  • u010111422
  • 2014年08月18日 18:10
  • 263

python中的一些小技巧

工作中经常会碰到用python来处理一些东西,在此写博客做记录下来,后面会不断的更新中 #encoding:utf-8 ''' Created on 2015年10年10日 @author: Z...
  • luoyexuge
  • luoyexuge
  • 2015年10月12日 09:03
  • 496

iOS-iphone开发中的 一些小技巧

iPhone开发问题是本文要介绍的内容,主要是来讲述字啊iphone开发过程中遇到的一些BUG,如何来解决,来看详细内容一一解决方案。 Q:[让tableview滚动到顶端] 从另一个view进...
  • jiangnanshuilu
  • jiangnanshuilu
  • 2014年11月15日 14:03
  • 305

js 一些小技巧

1,表单中,回车导致下一个表单元素聚焦 Js代码 /*** enter to make next object focus */ var pressFocusNext=function(ev...
  • hw1287789687
  • hw1287789687
  • 2015年03月28日 11:11
  • 715

egret的一些小技巧

egret.Profiler.getInstance().run();  显示fps event.stopImmediatePropagation(); 在toucheEvent里阻止冒泡 ...
  • wkyb608
  • wkyb608
  • 2015年06月01日 13:53
  • 1435
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一些小技巧
举报原因:
原因补充:

(最多只允许输入30个字)