温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java中找不到符号错误怎么解决

发布时间:2022-01-07 17:19:37 来源:亿速云 阅读:19200 作者:iii 栏目:大数据

这篇文章主要介绍“java中找不到符号错误怎么解决”,在日常操作中,相信很多人在java中找不到符号错误怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java中找不到符号错误怎么解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

01、“找不到符号”错误是什么意思

先来看一段代码:

String s = String();
 

有点经验的 Java 程序员应该能够发现上面这段代码中的错误,它缺少了一个 new 关键字。因此,这段代码在编译阶段是不会通过的。

java中找不到符号错误怎么解决  

当我们对编译错误置之不理,尝试运行它的时候,程序会抛出以下错误。

java中找不到符号错误怎么解决  

“找不到符号”,意味着要么源代码有着明显的错误,要么编译方式有问题。总之呢,是我们程序员搞的鬼,把编译器搞懵逼了,它有点力不从心,很无辜。

02、“找不到符号”是如何发生的

1)拼写错误

程序员毕竟也是人,是人就会犯错。

  • 单词拼错了,比如说把 StringBuilder 拼写成了 StringBiulder。

StringBuilder sb = new StringBiulder(); // 找不到符号,类 StringBiulder
 
  • 大小写错了,比如说把 StringBuilder 拼写成了 Stringbuilder。

StringBuilder sb = new Stringbuilder(); // 找不到符号,类 Stringbuilder
 

2)未声明变量

有时候,我们会在没有声明变量的情况下使用一个变量。

System.out.println(sss); // 找不到符号,变量 sss
 

或者变量超出了作用域。

for (int i = 0; i < 100; i++);
{
    System.out.println("i is " + i);
}
 

上面这段代码很不容易发现错误,因为仅仅是在“{”前面多了一个“;”。“;”使得 for 循环的主体被切割成了两个部分,“{}”中的 i 超出了“()”中定义的 i 范围。

3)方法用错了,或者不存在

比如说,Java 如何获取数组和字符串的长度?length 还是 length()?

String[] strs = {"沉默王二"};
System.out.println(strs.length()); // 找不到符号,方法 length()

String str = "沉默王二";
System.out.println(str.length); // 找不到符号,变量 length
 

4)忘记导入类了

在使用第三方类库的时候,切记要先导入类。

StringUtils.upperCase("abcd");// 找不到符号,类 StringUtils
 

不过,IDEA 中可以设置类自动导入,来避免这个错误。

java中找不到符号错误怎么解决  

。。。。。。

导致出现“找不到符号”的错误原因千奇百怪,上面也只是列举出了其中的一小部分。问题的根源在于程序员本身,随着编程经验的积累,以及集成开发工具的帮助,这些错误很容易在代码编写阶段被发现。

 

03、如何修复“找不到符号”错误

一般来说,修复“找不到符号”的错误很简单,要么根据 IDE 的提示在编写代码的时候直接修复;要么根据运行后输出的堆栈日志顺藤摸瓜。

java中找不到符号错误怎么解决  

日志会给出具体的行号,以及错误的类型。根据提示,想一下自己的代码要表达什么意思,然后做出修复的具体动作。比如上图中提醒我们 35 行代码出错了,找不到变量 j,那么就意味着我们需要给变量 j 一个类型声明即可。

 

04、更复杂的原因

在实际的项目当中,出现“找不到符号”的错误原因往往很复杂,但大多数情况下,可以归结为以下几点:

  • 编码格式不对。比如说应该是 UTF-8,但有些遗留的项目会设置为 GBK、GB2312 等等。

  • JDK 的版本不匹配。比如说某些团队成员的电脑上安装的是 JDK 1.6,有的是 JDK 8,版本升级后的一些新语法自然就会和老版本发生冲突。

  • 第三方类库的升级。一些开源的共同类库往往会不兼容旧的版本,比如说最新版的 StringUtils 类的包为 org.apache.commons.lang3,但之前是 org.apache.commons.lang

  • 类名和方法名都相同,但包名不同,方法的参数不同,在使用的时候就容易造成“找不到符号”。

在我初学 Java 的时候,老师要求我们用记事本来编写代码,然后在命令行中编译和运行代码,那时候真的叫一个痛苦啊。

经常出现“找不到符号”的错误,差点入门到放弃。因为初学阶段,哪能记住那么多编程语言的规则啊,经常忘东忘西,再者记事本是没有行号的,找起问题来,简直要了老命。

吃过这样的苦后,我就强烈建议初学者不要再使用记事本编程了(莫装逼),直接上 IDE,有啥问题,工具帮你悠着点。

到此,关于“java中找不到符号错误怎么解决”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI