重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
java list得到属猪长度的方法如下:
创新互联长期为上千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为邻水企业提供专业的网站制作、做网站,邻水网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。
1 java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性.
2 java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法.
3.java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static void main(String[] args) {
String []list={"ma","cao","yuan"};
String a="macaoyuan";
System.out.println(list.length);
System.out.println(a.length());
ListObject array=new ArrayList();
array.add(a);
System.out.println(array.size());
}
输出的值为:
3
9
1
byte[] phone =new byte[81]; //建立一个byte类型的数组,长度为81
phone[i]!=0中phone[i]! //数组的第i的位置不等0
如:
byte[] phone =new byte[81]; //建立一个byte类型的数组,长度为81
phone[1]!=0中phone[1]! //数组第二个取值不等于0
同时给楼主举个例子:
public class StudyArrary {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
byte[] phone =new byte[81]; //建立一个byte类型的数组,长度为81
for(int a = 0; a 81; a++)
phone[a]=(byte)a; //数组的第i的位置不等0
for(int i = 0; i 81; i++){
if (phone[i]!=0) {
System.out.println("phone["+i+"]不等于0"+",phone"+i+"是"+phone[i]);
}
else
System.out.println("phone["+i+"]等于0"+",phone"+i+"是"+phone[i]);
}
}
}
java 中数组的最大长度是多少呢?看一下它的length属性就可以了。length属性是32位的有符号整数,它的最大值是2的31次幂,就是2G。为何有这个限制呢?为什么length的属性不是long型呢?我们假设一下,如果它是long型的,那么它的最大长度是2的63次幂。内存永远也不会有那么大吧。即使是字节数组长度是int的,最大长都达到2GB.
由此想到了String,这个家伙底层也是基于数组的,是一个字符数组。字符是16位的基本类型,一个String的最大长度是多少呢?就是字符数组的最大长度也是2G,占用内存是4GB。
从JVM的角度来解释:创建数组的字节码是anewarray和newarray,操作数栈的字宽是32位,而这两个字节码的参数都是一个字长,所以无法接受long型的长度参数。不知道这样解释是否很牵强。
菜鸟一般会问这样的问题, 数组的长度能有多大, 理论上数组的长度为int类型, 最大为Integer.MAX_VALUE =2147483647; 16进制 [0x7fffffff]
如果声明一个int类型的数组: int[] ints = new int[Integer.MAX_VALUE]; 自己计算一下电脑得开多少内存给jvm
2147483647 / (1024*1024*1024) = 1.99999999GB 差不多2个G内存, jvm 100%会报oom, 当然服务器的内存可能设置比较大, 但是你有必要开这么大内存吗? 懂了没?