在Java中,解析究竟是什么?他们为什么用?
例如:Integer.parseInt(...)
,并解析一个字符串?
答案 0 :(得分:56)
您可以说解析字符串 分析此字符串以查找标记或项目,然后根据结果创建结构。
在您的示例中,在字符串上调用Integer.parseInt
是解析此字符串以查找整数。
所以,如果你有:
String someString = "123";
然后你调用:
int i = Integer.parseInt( someString );
你告诉java分析"123"
字符串并在那里找到一个整数。
其他示例:
java编译器在编译源代码时所执行的操作之一是“解析”.java文件并创建与java语法匹配的标记。
如果您无法正确编写源代码(例如忘记在语句末尾添加;
),则识别错误的是解析器。
答案 1 :(得分:34)
解析是读取一个对象的值以将其转换为另一种类型。例如,您可能有一个值为“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);
答案 2 :(得分:9)
计算机。分析(一串 字符)以便关联 带有的字符组 底层的句法单位 语法。
定义的上下文是将程序文本或一般意义上的语言翻译成关于定义语法的组成部分 - 将程序文本转换为代码。但是,在特定语言关键字的上下文中,它通常意味着将基本数据类型的字符串值转换为该数据类型的内部表示。例如,字符串“10”变为数字(整数)10。
答案 3 :(得分:6)
解析可以被视为“分解成小块”的同义词,然后分析那些或以修改的方式使用它。在Java中,字符串被解析为十进制,八进制,二进制,十六进制等。如果您的应用程序以字符串的形式从用户那里获取输入,但是在您的应用程序中的某个地方,您希望以一种形式使用该输入。整数或双重类型。它与类型转换不同。对于类型转换,使用的类型应该是兼容的,以便在解析时没有这种情况。
答案 4 :(得分:0)
解析只是分析字符串并从该字符串中找到标记的过程,解析器是解释器和编译器的一个组件。它使用词法分析然后 语法分析。解析它然后在整个编译过程之后编译这段代码。
答案 5 :(得分:0)
解析意味着我们正在分析一个对象。例如,当我们在搜索引擎中输入一些关键字时,他们会解析关键字并通过搜索每个单词来回馈结果。所以它基本上从文件中取一个字符串并处理它以提取我们想要的信息。
使用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
基本上将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
答案 6 :(得分:-1)
解析是将文本划分为一组部件或标记。