为什么使用Uri.Builder而不只是字符串和连接参数呢?

时间:2015-09-26 12:38:26

标签: java string uri

我只是想知道为什么建议使用Uri.Builder而不仅仅使用字符串并将参数连接到它?

有人可以用一些简短的例子解释一下吗?

是否因为效率(因为字符串是不可变的..等等(但我们可以使用StringbuilderStringBuffer))

或者Strings有任何安全问题吗?

1 个答案:

答案 0 :(得分:4)

当你从一个遥远的角度看待它时,URI非常复杂:那里有一个方案,一个权威,一条路径,一些查询......而且,你必须记住如何正确编码你的数据。所有这些都非常繁琐,而且是一项重复性任务。

UriBuilder旨在让你远离这一切。它会正确编码您的参数,并且可以正确地构建您的URI,而不会有太多麻烦和简单的语法:

UriBuilder.fromUri("http://localhost/").path("{a}").queryParam("name", "{value}").build("segment", "value");

将构建以下URI:http://localhost/segment?name=value{a}路径将替换为build的第一个参数,{value}将替换为第二个参数。