最近,我遇到了这个问题:
Glide.with( holder.itemView.getContext() )
.load( Constants.HTTP.PHOTO_URL + currentColleague.getMail() )
.thumbnail( 0.5f )
.override( 200, 200 )
.placeholder(R.drawable.ic_placeholder)
.diskCacheStrategy( DiskCacheStrategy.ALL )
.into( holder.colleaguePicture );
false
为什么结果呢?以及如何暗示转换在比较运算符"78.1133" <= "271.7895"
?
感谢。
答案 0 :(得分:1)
仅当两个比较实体具有不同类型时才会发生转换...当比较两个字符串时,不会进行转换。字符串比较是逐个字符的。在您的示例中,7大于2,因此返回false。
如果您有两个数字存储在字符串中并需要比较它们的数值,则需要使用parseFloat()
答案 1 :(得分:0)
字符串比较为lexicographic。值的排序方式基于它们在字典字母表中的显示方式。
因此,"aaa"
小于"aab"
,因为第一个字符串的所有词典位置的总和小于第二个字符串的总和(想象将字母表中的位置相加 - { {1}}是第一个字母,因此它是位置a
,因此1
是"aaa"
,而3
则是"aab"
。< / p>
在字典顺序中,4
小于"1"
,因为它来自两个之前。因此,例如,"2"
小于"11"
,因为我们可以再次想象累加位置,除了这次它们是数字位置而不是字母位置。使用数字位置时,"3"
为"1"
,因为它是第一个,因此1
的总和为"11"
,而2
为"3"
,因为它是第三,所以它更大。
这就是这里发生的事情。没有暗示也没有转换。