簡體   English   中英

如何修改/更新java.net.URI對象?

[英]How can I modify/update a java.net.URI object?

給定一個java.net.URI對象,我需要:

  • 破壞性地修改該對象上的一個字段(例如path組件)。 但是沒有setX方法,所以看起來這些對象應該是不可變的。
  • 構造一個新的URI對象,除了給定的字段(“功能更新”)之外,它與原始對象相同。 但是沒有withX方法,所以我必須編寫自己的邏輯來處理這個問題。

我是否真的必須編寫自己的函數來處理URI對象的修改?

是的,你每次都會創建一個新對象,因為java.net.URI是不可變的。 您可以使用像Apache HttpComponents的URIBuilder這樣的第三方類。

官方教程中的示例

URI uri = new URIBuilder()
    .setScheme("http")
    .setHost("www.google.com")
    .setPath("/search")
    .setParameter("q", "httpclient")
    .setParameter("btnG", "Google Search")
    .setParameter("aq", "f")
    .setParameter("oq", "")
    .build();    // the build method creates a new URI instance behind the scenes

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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