從0開始 3.5 字串串接與迴圈 - MUD Game

Table of Contents

雖然在 java 中串接字串很簡單, 只要一直 + 就可以了
但是在迴圈還是要避免使用 + 來串接字串
為什麼呢?


在之前的範例我們曾經寫下這種程式碼
pm.forEach((k, v) -> v.write("【閒聊】" + playerName + "說:" + input));

其實 + 是 java compiler 提供的語法糖
真正的程式展開之後是這樣的

pm.forEach((k, v) -> v.write(new StringBuilder.append("【閒聊】")
.append(playerName)
.append("說:")
.append(input)
.toString()));

今天線上有 n 個使用者, 就要 new n 個 StringBuilder
雖然在這個年代 MUD 有幾十個人上線就很多了
不過養成良好習慣還是很重要的, 所以在迴圈內串接字串時可以思考看看
有沒有機會在迴圈外先把字串接好
像上面的例子就可以改成這樣寫

String message = "【閒聊】" + playerName + "說:" + input;
pm.forEach((k, v) -> v.write(message));

--
╔═ ═╦╦═════╦═════╗
◤◤◤ ╠╣飛鳥ももこ╠═╗ ║
║╚═════╝ ╚═╦═╣
║╔══════╗╔═╩═╣
█◤ ╠╣Momoko Asuka╠╝ ║
◣◢◣◢╩╩══════╩════╝

--

All Comments

Irma avatarIrma2019-12-06
你的順序看起來跟以前es2 driver差
Callum avatarCallum2019-12-07
不多 除了用的語言不同.
Olivia avatarOlivia2019-12-07
這個年代要讓人multi.多人才好玩 XD
Zenobia avatarZenobia2019-12-08
其實可以從這個階段開始就導入文字
以外的元素,讓它一開始就具備多媒體
Daph Bay avatarDaph Bay2019-12-09
的呈現功能,以這個為前提去設計看看