Первый , о массивах и строках.
Вы сравниваете совершенно разные классы.
Типы массивов - это специальные объекты, которые создаются динамически. Даже массив примитивов является объектами (в отличие от C), поэтому он может иметь определенные переменные / методы-члены.
Посмотрите здесь: Массив членов
String - это класс, который инкапсулирует поведение, подходящее для строк, таких как подстрока, усечение и т. Д. Фактические данные хранятся внутри как символьный массив, поэтому между ними существует тесная связь, но сам класс представляет больше, чем просто символы.
Во-вторых , о методе subString.
Методы, вызываемые для строкового объекта, следуют синтаксису, указанному в API.
public String substring(int beginIndex)
public String substring(int beginIndex,int endIndex)
Взгляните на String API здесь . Там вы найдете метод length (), который возвращает длину строки.
Записка о классе "Массивы".
Существует класс под названием "Массивы", который стал доступен как часть структуры коллекций. Цель этого класса состояла в том, чтобы включить поведения, которые обычно используются во всех типах массивов (таких как сортировка и поиск).