Java length vs length()的区别

707 阅读4分钟

Java length vs length()有什么区别?

Java length与length()的解释

Java的length变量和Java的length()方法之间的关键区别是,Java的length变量描述的是一个数组的大小,而Java的length()方法告诉你一个文本String包含多少个字符。

Java的length方法

要在Java中获得一个对象的信息,你通常要通过一个公共方法。

要在Java中获得一个字符串的大小,length()是你要调用的方法。String的length()方法将告诉你一个String包含多少个字符。

一个Java字符串的length()例子

下面是一个使用Java length()方法来获取String中的字符数的简单例子。

String simpleString = "Length example";

请注意,Java length()方法的结尾处有圆括号。这是length()方法和Java的length属性之间的主要区别之一。

Java的长度属性

要在Java中获得一个数组的大小,你要访问数组的长度属性

注意到我们是如何从谈论Java的length()方法转换到Java的length属性的。这是Java中length这个词的两种用法之间的主要区别。

一个关于Java数组的长度例子

下面是一个用Java length方法来获取数组中元素数量的例子。

int[] simpleArray = {1,2,3,4,5};

Java length和length()的区别

下面是两个Java长度结构的主要区别以及它们在代码中的使用方法。

  1. Java length属性用于String类。
  2. Java length方法用于数组类。
  3. Java length属性返回一个数组的大小
  4. Java length方法返回一个文本字符串中的字符数。
  5. Java length方法的末尾必须有圆括号。
  6. 如果添加了圆括号,Java length属性会产生一个编译错误。
  7. Java length方法是数据封装的一个好例子。
  8. Java的长度属性起源于C和C++编程

Java长度属性和方法的相似之处

无论是字符串还是数组,这两个Java长度结构之间最大的相似之处是用于查找一个对象所包含的元素数。

Java length和length()结构体之间的关键区别是,方法适用于字符串类,而属性适用于数组。

这种微妙的区别往往会导致刚刚熟悉Java语法的新开发者感到困惑。这是因为。

  • 在Java中,一个方法的末尾必须有圆括号:length()
  • 在Java中,属性后面没有大括号或小括号:length

如果在属性的末尾加上圆括号,或者在方法名称中留下圆括号,就会发生Java编译时错误。而可悲的是,相关的错误信息也不是很有帮助。

如何比较数组和字符串的Java长度与length()。

Java长度编译时的错误

如果在Java length()方法的调用中不加圆括号,将出现以下代码错误

length cannot be resolved or is not a field

如果在Java length属性中加入圆括号,将发生以下代码错误

Cannot invoke length() on the array type int[]

如果Java length和length()的语法混在一起,就会发生编译时错误。

为什么数组和字符串使用Java长度的方式不同?

Java重视对数据和属性的封装,这意味着你对一个对象的任何信息的访问都应该通过一个公共方法来实现。

Java字符串的length()方法符合这一最佳实践。那么,为什么数组不符合呢?

这个区别可以追溯到Java基于C语言的传统。

C++、Java和数组的长度

Java编程语言的编写方式是让用C和C++编程的开发者很容易就能采用这种语言。

Java中的几个编程结构可以直接映射到C和C++程序的工作方式。其中一个结构是Java的main方法,另一个是数组的大小是通过length属性而不是length方法访问的。

Java中length()与length的区别可能会让新的开发者感到困惑。但这只是一个关于数组与字符串工作方式不同的一次性规则,Java开发者只需习惯于此。

Java长度对比图

Java length()方法Java length属性
主要由字符串类使用被Java数组使用
最后必须有圆括号末尾必须没有圆括号
语法:stringVariable.length()。语法:arrayVariable.length。
返回一个字符串中的字符数返回一个数组的大小和容量
误用时可能会出现'length cannot be resolved'的编译错误误用 "不能在数组上调用length() "可能会发生编译错误