簡體   English   中英

如何在Java中克隆URI

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM