【问题标题】:Explaining some details about String解释一些关于字符串的细节
【发布时间】:2012-02-21 05:55:39
【问题描述】:

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

在 (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)' 为什么不像示例 (2) 中只有 'System.out.println(myString.substring(i))'??

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

【问题讨论】:

  • 好问题,有点难以解释。深厚的基础。

标签: java arrays string for-loop


【解决方案1】:

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

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

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

String 是一个封装了适合字符串的行为的类,例如子字符串、修剪等。实际数据在内部存储为字符数组,因此它们之间有着密切的联系,但类本身代表的不仅仅是字符。

其次,关于subString方法。

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

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

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

关于“数组”类的说明。

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

【讨论】:

  • 好的,这条评论很好,这几行信息很多。我读了它,我明白了很多。谢谢老大
【解决方案2】:

Array 类扩展了 java.lang.Object。因此数组是对象的一个​​实例。数组有一个称为长度的实例变量。这是一个变量,所以你不需要()。 而string类有一个成员函数叫length,所以需要()。

【讨论】:

  • 谢谢先生。对我这样的人来说非常简单。
【解决方案3】:

第一个,myString是一个字符串,是一个对象。您正在调用 String 类型的名为 length() 的方法来了解字符串的长度。此方法计算字符串中的字符数并返回该数。而subString()也是一个接受两个参数的方法,begin和end index。这只是 Java 创建的标准。要了解有关字符串方法的更多信息,请here

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

【讨论】:

  • 谢谢你,非常简单明了的解释给像我这样的人。
【解决方案4】:

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

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

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

【讨论】:

  • 在阅读了所有 cmets 和链接后,这部分并不知道“myString.substring(i) 确实存在于 API 中,并将返回从 i 开始并以最后一个字符结尾的子字符串我的字符串”。感谢您的帮助和时间来解释。
【解决方案5】:

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

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

3、anArrayOfints 是一个数组对象。就像一个东西的清单。您应该指定一个数字来选择一个元素。

【讨论】:

  • 谢谢先生。感谢您的回复,证实了我所学到的。
猜你喜欢
  • 2012-10-12
  • 2012-11-02
  • 2020-01-18
  • 2020-07-25
  • 2013-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多