Что такое Parse/parsing?
В Java, что такое Parsing? Почему они используются?
Например: Integer.parseInt(...)
и разбор строки?
Ответы
Ответ 1
Можно сказать, что синтаксический анализ строки символов анализирует эту строку, чтобы найти маркеры или элементы, а затем создать структуру из результата.
В вашем примере вызов Integer.parseInt
в строке обрабатывает эту строку, чтобы найти целое число.
Итак, если у вас есть:
String someString = "123";
И затем вы вызываете:
int i = Integer.parseInt( someString );
Вы передаете java для анализа строки "123"
и найдите там целое число.
Другой пример:
Одно из действий, выполняемых java-компилятором при компиляции исходного кода, заключается в "анализе" вашего .java файла и создании токенов, соответствующих java-грамматике.
Если вы не смогли правильно записать исходный код (например, забудьте добавить ;
в конце инструкции), это парсер, который идентифицирует ошибку.
Здесь дополнительная информация: http://en.wikipedia.org/wiki/Parse
Ответ 2
Анализ состоит в том, чтобы прочитать значение одного объекта, чтобы преобразовать его в другой тип. Например, у вас может быть строка со значением "10". Внутренне эта строка содержит символы Unicode '1' и '0', а не фактическое число 10. Метод Integer.parseInt принимает это строковое значение и возвращает реальное число.
String tenString = "10"
//This won't work since you can't add an integer and a string
Integer result = 20 + tenString;
//This will set result to 30
Integer result = 20 + Integer.parseInt(tenString);
Ответ 3
От dictionary.reference.com:
Компьютеры. для анализа (строка символов), чтобы связать группы символов с синтаксические единицы грамматика.
Контекст определения - это перевод текста программы или языка в общем смысле на его составные части по отношению к определенной грамматике - превращение текста программы в код. Однако в контексте ключевого слова конкретного языка обычно это означает преобразование строкового значения фундаментального типа данных во внутреннее представление этого типа данных. Например, строка "10" становится числом (целое число) 10.
Ответ 4
Анализ может рассматриваться как синоним "Разрушение на мелкие кусочки", а затем анализ того, что есть или использующего его модифицированным способом. В Java строки анализируются в десятичные, восьмеричные, двоичные, шестнадцатеричные и т.д. Это делается, если ваше приложение принимает входные данные от пользователя в форме строки, но где-то в вашем приложении вы хотите использовать этот ввод в форме целое или двойное. Это не то же самое, что тип литья. Для литья типов используемые типы должны быть совместимы для касты, но ничего подобного при разборе.
Ответ 5
Анализ - это разделение текста на набор частей или токенов.
Ответ 6
Анализ - это просто процесс анализа строки символа и поиска маркеров из этой строки, а парсер - это компонент интерпретатора и компилятора. Он использует лексический анализ, а затем
синтаксический анализ. Он анализирует его, а затем компилирует этот код после всего этого процесса компиляции.
Ответ 7
Разбор означает, что мы конкретно анализируем объект. Например, когда мы вводим некоторые ключевые слова в поисковой системе, они анализируют ключевые слова и возвращают результаты, ища каждое слово. Таким образом, он в основном берет строку из файла и обрабатывает ее, чтобы извлечь нужную нам информацию.
Пример синтаксического анализа с использованием indexOf
для вычисления позиции строки в другой строке:
String s="What a Beautiful day!";
int i=s.indexOf("day");//value of i would be 17
int j=s.indexOf("be");//value of j would be -1
int k=s.indexOf("ea");//value of k would be 8
paresInt
по существу преобразует a String
в Integer
.
String s="9876543";
int a=new Integer(s);//uses constructor
System.out.println("Constructor method: " + a);
a=Integer.parseInt(s);//uses parseInt() method
System.out.println("parseInt() method: " + a);
Вывод:
Constructor method: 9876543
parseInt() method: 9876543