(= "\"" "\"") ;; true
(let [ss "123\""]
(doseq [s ss]
(println s (= "\"" s) (.equals "\"" s))))
;; 1 false false
;; 2 false false
;; 3 false false
;; " false false
为什么false
在第二种情况下?
答案 0 :(得分:5)
请注意doseq
:
(let [ss "123\""]
(doseq [s ss]
(println (type s))))
您会看到他们是角色,但您要将它们与字符串进行比较。由于类型不匹配,因此总是错误的。
与角色比较:
(let [ss "123\""]
(doseq [s ss]
(println s (= \" s))))
1 false
2 false
3 false
" true