我发现两者都被用于在内容提供商中获取ID。
String id = uri.getLastPathSegment();
String id = uri.getPathSegments().get(1);
有区别吗?如果是的话,是一个比另一个更好/更好的做法吗?
或者你在哪种情况下使用一种而不是另一种?
答案 0 :(得分:3)
有区别吗?
如果恰好有2个路径段,它们就是相同的。对于Uri
/a/path/that/looks/like/this/1
,get(1)
不等于getLastPathSegment()
。
如果是的话,是一种比另一种更好/更好的做法吗?
使用有效的那个。在两者兼顾的情况下,使用任何一个表达你的意思更好。而且,如果你无法决定,可以掷硬币。
(FWIW,我会使用getLastPathSegment()
,因为通常我的意思是"给我一个ID,它出现在Uri
"的末尾。