解释有关String的一些细节

时间:2012-02-21 05:55:40

标签: java arrays string for-loop

大家好,我有一个非常简单的问题。我正在研究谈论阵列的不同网站,我看到这部分我不太了解。

在(1)为什么'myString.length()'有'()',为什么不仅仅是示例(2)中的myString.length?

在(1)为什么'System.out.println(myString.substring(i,i+1))'有'myString.substring(i,i+1)'为什么不只是'myString(i,i+1)'??

在(1)为什么“System.out.println(myString.substring(i,i+1))”有两个值“(i,i+1)”为什么不仅仅是“System.out.println(myString.substring(i))”,如例(2)所示?

1. String myString="abcedaslkhldfag";
for(int i=0; i<myString.length(); i++)
System.out.println(myString.substring(i,i+1));  


2. for(int i=0; i<anArrayOfints.length; i++){
System.out.println(anArrayOfints[i]);
}

谢谢 我在这个网站http://www.javaclass.info/classes/java-array/array-examples-demonstration-and-code-snippets.php

找到了它

5 个答案:

答案 0 :(得分:0)

Array类扩展了java.lang.Object。因此,array是Object的一个实例。数组有一个名为length的实例变量。这是一个变量所以你不需要()。 字符串类有一个名为length的成员函数,这就是你需要()。

的原因

答案 1 :(得分:0)

这是因为length()是String类的方法,而lengthArray类的实例变量。

至于myString.substring(i, i + 1),这是在String类的实例上调用的方法,它将返回包含子字符串的新String实例。实际上,myString.substring(i)确实存在于API中,并且会返回从i开始并以myString中的最后一个字符结尾的子字符串。

请注意,anArrayOfints[i]返回存储在数组中元素i的int。

答案 2 :(得分:0)

第一个,myString是一个字符串,它是一个对象。您正在调用String类型的length()方法来了解字符串的长度。此方法计算字符串中的字符数并返回该数字。 subString()也是一个采用两个参数的方法,即开始和结束索引。这只是Java创建的标准。要了解有关字符串方法的更多信息,请here

第二个是连续的数据存储,一个数组。数组的长度也存储在数组中,并使用“.length

进行访问

答案 3 :(得分:0)

1,myString有一个名为length的方法。使用方法时,必须指定应包含在“()”中的参数。在(2)中,长度表示属性。只需将其用作变量即可。

2,子串是方法。当使用某个对象的方法时,您可以想象您正在向此对象发送命令。 myString无法理解“myString(i,i + 1)”。您应该特定方法或命令“subString”

3,anArrayOfints是一个数组对象。就像一个东西的列表。你应该特定一个数字来选择一个元素。

答案 4 :(得分:0)

首先,关于数组和字符串。

您正在比较完全不同的课程。

数组类型是动态创建的特殊对象。甚至基元数组也是对象(与C不同),因此它可能具有某些成员变量/方法。 看看这里:Array members

String是一个封装适合字符串的行为的类,例如substring,trim等。实际数据在内部存储为字符数组,因此它们之间存在紧密连接,但类本身不仅仅代表字符。

其次,关于subString方法。

调用字符串对象的方法遵循API指定的语法。

public String substring(int beginIndex)
public String substring(int beginIndex,int endIndex)

查看String API here。你会发现有一个length()方法返回String的长度。

关于“阵列”类的说明。

有一个名为“Arrays”的类可以作为集合框架的一部分使用。此类的目的是包括在所有类型的数组中常用的行为(例如排序和搜索)。