我已將->Chrome 瀏覽器中的代碼片段復制粘貼到 Intellij IDE 中。我以為他們是一樣的。這還不清楚。兩個字符看起來都一樣->。兩者都是 2 個字符 查看之前的螢屏截圖
java: illegal character: '\u02c2'

當我洗掉 -> 并輸入 -> 時,編譯器接受了它。
之后看截圖:

uj5u.com熱心網友回復:
歡迎來到同形文字的世界:看起來相同但實際上不同的字符。
根據您的軟體使用的字體,Unicode 中還有許多其他同形文字示例。其他示例包括不同語言中的相似字母(示例)、減號與“長連字符”字符、直引號與斜引號字符、正常與寬或不間斷空格等。
在您的情況下,您似乎已復制并粘貼
U 02C2修飾符字母左箭頭。(?)U 02C3修飾符字母右箭頭。(?)
字符而不是標準字符
U 003C少于。(<)U 003E比...更棒。(>)
問:有什么區別?
答:區別在于它們對 Java 的含義不同,即使您的 IDE 使用的字體使它們看起來相同。(它們在我的瀏覽器中看起來一樣......)
問:他們/他們是如何到達那里的?
答:在此類示例中,它們通常是在某些文字處理應用程式(或諸如文案編輯之類的人)認為某些字體中的替代版本“看起來更好”而不是正確的字符時才會到達那里,并替換它們。
在其他情況下,它們可以被故意用來欺騙人;例如,通過在 URL 中使用同形文字來誘使人們訪問錯誤的網站;請參閱電子郵件網路釣魚中的同形文字攻擊檢測
最重要的是,從檔案和網頁中復制代碼時需要小心,這些代碼可能是由“文字處理”軟體沿線某處生成的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/326767.html
