java - 创建 URL - 使用 uri.parse/uri.builder/concatenate 字符串有什么区别?

标签 java android uri

我从文档中读到有关 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) 将字符串与上面类似的参数连接起来。

最佳答案

第一和第二非常相似。 Uri.BuilderUri 的嵌套静态类。此外,Uri.buildUpon 方法返回 Uri.Builder 实例。唯一的区别是前一个更加结构化且对开发人员友好,因为您不需要关心 :/。对于您的第三个查询,您应该查看这篇文章 uri string difference stackoverflow .

关于java - 创建 URL - 使用 uri.parse/uri.builder/concatenate 字符串有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59234920/

相关文章:

java - 使用 Spring MVC 的可配置 Comet servlet

java - 错误:Execution failed for task ':app:transformClassesWithDexForDebug' Gradle

java - 使用 java/scala API 进行 Neo4j lucene 搜索

android - Kotlin 协程中 RXJava 等价物的 Completable.create - Android

android - 更改设备语言时更新通知文本

facebook - 添加动态/通配符 FACEBOOK 有效的 OAuth 重定向 URI

odata - IgGrid:如何在 JavaScript 中获取远程过滤的 odata queryString

java - 在 Angular 2 中设置授权 header

android - 如何使用安卓下载管理器?

java - Android - startActivityForResult 用于获取文件路径