区别:getPathSegments()。get(1)和/ vs getLastPathSegment()

时间:2017-08-29 23:10:44

标签: android path uri android-contentprovider

我发现两者都被用于在内容提供商中获取ID。

String id = uri.getLastPathSegment();
String id = uri.getPathSegments().get(1);

有区别吗?如果是的话,是一个比另一个更好/更好的做法吗?

或者你在哪种情况下使用一种而不是另一种?

1 个答案:

答案 0 :(得分:3)

  

有区别吗?

如果恰好有2个路径段,它们就是相同的。对于Uri /a/path/that/looks/like/this/1get(1)不等于getLastPathSegment()

  

如果是的话,是一种比另一种更好/更好的做法吗?

使用有效的那个。在两者兼顾的情况下,使用任何一个表达你的意思更好。而且,如果你无法决定,可以掷硬币。

(FWIW,我会使用getLastPathSegment(),因为通常我的意思是"给我一个ID,它出现在Uri"的末尾。