gpt4 book ai didi

java - 如何避免方法中出现很多 if/else 条件?

转载 作者:行者123 更新时间:2023-12-02 08:24:47 26 4
gpt4 key购买 nike

我怀疑我的方法之一是否正确。这是我用于 http 请求URI 合成器。它只是从带有最终Strings的单独静态类获取数据,将它们合并在一起,并在必要时包含从服务器 token 接收到的数据。碰巧所有 URI 都带有 token ,唯一的一个是身份验证,但没有 token 。我做了什么:

private URI urlComposer(String apiUri, String token) { 
URI uri = null;
try {

if(apiUri.equals("POST_AUTH_URL")) {
uri = URIUtils.createURI(null, MyConfig.WEB_SERVER, -1, apiUri, null, null);
return uri;
}

String tmp = apiUri.toString();
String[] array = tmp.split("<token>");
tmp = array[0] + auth.getToken() + array[1];

uri = URIUtils.createURI(null, MyConfig.WEB_SERVER, -1, tmp, null, null);

if (MyConfig.DEBUG) Log.d("Dev", "Constructed url " + uri);
return uri;
} catch (URISyntaxException e) {
if (MyConfig.DEBUG) Log.d("Dev", "urlComposer was unable to construct a URL");
e.printStackTrace();
}
return null;
}

展望 future ,如果我有更多类似 POST_AUTH_URL 的特殊情况,我不喜欢生成更多 if/else 语句的想法。一方面我想要调用唯一的一个方法来构造 URI,另一方面我不想要这些 if。我该怎么办?

最佳答案

如果您始终设置 URI,仅设置不同的 URI,则可以使用映射:

uriMap.put("POST_AUTH_URL", URIUtils.createURI(null, MyConfig.WEB_SERVER, -1, apiUri, null, null));

您可以稍后访问此 map :

uri = uriMap.get(apiUri);

关于java - 如何避免方法中出现很多 if/else 条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4752160/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com