中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中找不到符號錯誤怎么解決

發布時間:2022-01-07 17:19:37 來源:億速云 閱讀:19393 作者: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

绿春县| 闽侯县| 清流县| 裕民县| 湘西| 鹤山市| 泰顺县| 边坝县| 乐昌市| 体育| 鹤壁市| 沁源县| 如东县| 大理市| 洛隆县| 杂多县| 手机| 嘉峪关市| 麦盖提县| 神池县| 晋中市| 康平县| 霍林郭勒市| 田东县| 桃江县| 民乐县| 伊宁市| 永顺县| 古田县| 沙雅县| 湘潭市| 额济纳旗| 江华| 鹰潭市| 报价| 耒阳市| 大同县| 县级市| 青冈县| 武冈市| 庆城县|