java - 创建 URL - 使用 uri.parse / uri.builder / 连接字符串有什么区别?
问题描述
我从文档中阅读了有关 uri 如何提供更有效的创建 url 的方法,但我对以下 1、2 和 3 方法之间的区别感到困惑?
1) 使用 Uri.Builder 构建 url。例子:
Uri.Builder.scheme("https")
.authority("abc.example.com")
.appendPath("search")
.appendQueryParameter("id", "123")
.appendQueryParameter("name", "dummyText")
.build();
2) 使用 Uri.parse。例子:
Uri.parse("https://abc.example.com/")
.buildUpon()
.path("search")
.appendQueryParameter("id", "123")
.appendQueryParameter("name", "dummyText")
.build();
3) 连接具有上述类似参数的字符串。
解决方案
第 1 和第 2 非常相似。Uri.Builder
是嵌套的静态类Uri
。方法也Uri.buildUpon
返回Uri.Builder
实例。唯一的区别是前者更结构化且对开发人员更友好,因为您不需要关心:
& /
。对于您的第三个查询,您应该查看这篇文章uri string difference stackoverflow。
推荐阅读
- bash - 用bash读取csv中未定义的列数
- docker - 从 nginx-alpine 映像以非 root 身份运行 nginx 容器
- html - 创建正则表达式以仅允许小数点后的数字和 2 位数字
- java - 如何显示数组中的图像?
- node.js - webpack-dev-server v4 -window 未定义
- php - 使用自定义对象的 Twilio web-hook 实现
- python - 像浏览器一样的 Python 请求?
- android - 如何修复错误类型'String'不是'index'的'int'类型的子类型?
- swift - 为什么我必须使用可选的“?” 在这段代码中?
- typescript - Mapbox using localGeocoderOnly: true 没有它就不起作用