[英]How to clone a URI in Java
是否有更好的方法來獲取URI的副本(克隆)而不是這個可怕的黑客攻擊?
import org.eclipse.emf.common.util.URI;
URI cloned = URI.createURI( originalURI.toString() );
URI是不可變的值類 - 因此您不應該真正需要復制。 但如果你真的需要,那么你的“黑客”(它真的不是那么糟糕)就是這樣做的方法。
編輯:我剛剛注意到你沒有使用java.net.URI ...
來自Eclipse SDK javadocs ,
像String一樣,URI是一個不可變的類;
該類也是不可變的,同樣的建議也適用。 您通常不需要復制,只需重用您擁有的URI實例即可。 它是安全的原因是一旦創建了對象,它就無法更改。 兩個不同的客戶端可以使用相同的URI,而不必擔心它會被另一個客戶端修改。
URI上有一些方法可以更新URI的組件(例如appendQuery()
),但更新是在新的URI 實例上完成的 - 現有的URI是未修改的。
只需寫:
Uri newUri = Uri.parse(oldUri.toString());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.