Java 的数组

Posted borter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 的数组相关的知识,希望对你有一定的参考价值。

几乎所有程序设计语言都支持数组。在C和 C++里使用数组是非常危险的,因为那些数组只是内存块。若程 序访问自己内存块以外的数组,或者在初始化之前使用内存(属于常规编程错误),会产生不可预测的后果 (注释②)。

②:在 C++里,应尽量不要使用数组,换用标准模板库(Standard TemplateLibrary)里更安全的容器。

Java 的一项主要设计目标就是安全性。所以在 C 和 C++里困扰程序员的许多问题都未在Java 里重复。一个 Java 可以保证被初始化,而且不可在它的范围之外访问。由于系统自动进行范围检查,所以必然要付出一些 代价:针对每个数组,以及在运行期间对索引的校验,都会造成少量的内存开销。但由此换回的是更高的安 全性,以及更高的工作效率。为此付出少许代价是值得的。 创建对象数组时,实际创建的是一个句柄数组。而且每个句柄都会自动初始化成一个特殊值,并带有自己的 关键字:null(空)。一旦 Java 看到null,就知道该句柄并未指向一个对象。正式使用前,必须为每个句 柄都分配一个对象。若试图使用依然为null 的一个句柄,就会在运行期报告问题。因此,典型的数组错误在 Java 里就得到了避免。 也可以创建主类型数组。同样地,编译器能够担保对它的初始化,因为会将那个数组的内存划分成零。 数组问题将在以后的章节里详细讨论。

 

 1 package Com.TomTest;
 2 
 3 
 4 import java.util.*;
 5 public class TomTest_49 {
 6   public static void main(String args[]){
 7       String s="I am Geng.X.y,she is my girlfriend";
 8 StringTokenizer fenxi=new StringTokenizer(s," ,"); 
 9       int number=fenxi.countTokens();
10       while(fenxi.hasMoreTokens()){
11           String str=fenxi.nextToken();
12           System.out.println(str);
13           System.out.println("还剩"+fenxi.countTokens()+"个单词");
14        }
15      System.out.println("s共有单词:"+number+"个");
16    } 
17 }

 





以上是关于Java 的数组的主要内容,如果未能解决你的问题,请参考以下文章

Java经典安全数组实现的代码

java.io.ByteArrayInputStream

web代码片段

错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”

Java数组的--遍历

javascript常用代码片段