首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android Toast 顯示雙引號字符串拼接正確姿勢:轉義字符與 String.format 最佳實踐

     編輯:程式設計綜合問答

需求:Toast 顯示 `Your message "message" is sent to "contact"`,包含雙引號包裹的變量。

錯誤代碼

// 錯誤:" 是 HTML 實體,Java 字符串中無效
Toast.makeText(context, "Your message " + """ + message + """ + " is sent to " + phoneNo, ...)

正確拼接:Java 字符串轉義雙引號

String toastText = "Your message \"" + message + "\" is sent to \"" + phoneNo + "\"";
Toast.makeText(context, toastText, Toast.LENGTH_SHORT).show();

更優雅:String.format 佔位符

String toastText = String.format("Your message \"%s\" is sent to \"%s\"", message, phoneNo);
Toast.makeText(context, toastText, Toast.LENGTH_SHORT).show();

優點:模板與數據分離、易國際化、避免拼接錯誤。

字符串資源化(最佳實踐)

res/values/strings.xml

<string name="toast_sent_fmt">Your message "%1$s" is sent to "%2$s"</string>

代碼中

String text = getString(R.string.toast_sent_fmt, message, phoneNo);
Toast.makeText(context, text, Toast.LENGTH_SHORT).show();

優點:集中管理、支持多語言、編譯期檢查佔位符數量。

總結

  • Java 字符串中雙引號用 \" 轉義,而非 HTML 實體。
  • 優先使用 String.format 或資源文件佔位符,告別拼接地獄。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved