草庐IT

integer_ref

全部标签

java - 为什么不能在 Java 中将 Integer 转换为 String?

我发现了一些奇怪的异常:java.lang.ClassCastException:java.lang.Integercannotbecasttojava.lang.String这怎么可能?每个对象都可以转换为字符串,不是吗?代码是:StringmyString=(String)myIntegerObject;谢谢。 最佳答案 为什么这是不可能的:因为String和Integer不在同一个Object层次结构中。Object/\/\StringInteger您正在尝试的转换仅在它们位于同一层次结构中时才有效,例如Object//A//

java - 将 List<Integer> 转换为 List<String>

我有一个整数列表,List我想将所有整数对象转换为字符串,从而完成一个新的List.当然,我可以创建一个新的List并循环调用列表String.valueOf()对于每个整数,但我想知道是否有更好的(阅读:更自动)方法? 最佳答案 使用GoogleCollectionsfromGuava-Project,您可以使用Lists中的transform方法类importcom.google.common.collect.Lists;importcom.google.common.base.FunctionsListintegers=Arr

java - Arrays.asList(array) 和 new ArrayList<Integer>(Arrays.asList(array)) 的区别

有什么区别Listlist1=newArrayList(Arrays.asList(ia));//CopyListlist2=Arrays.asList(ia);,其中ia是整数数组吗?我知道list2中有些操作是不允许的.为什么会这样?它是如何存储在内存中的(引用/复制)?当我随机排列列表时,list1不影响原始数组,但list2做。但是还是list2有点困惑。ArrayList怎么样?被向上转换到列表不同于创建一个新的ArrayList?list1differsfrom(1)ArrayListlist1=newArrayList(Arrays.asList(ia));

c# - Java 有类似 C# 的 ref 和 out 关键字吗?

类似于以下内容:引用示例:voidchangeString(refStringstr){str="def";}voidmain(){Stringabc="abc";changeString(refabc);System.out.println(abc);//prints"def"}示例:voidchangeString(outStringstr){str="def";}voidmain(){Stringabc;changeString(outabc);System.out.println(abc);//prints"def"} 最佳答案

java - Long vs Integer,long vs int,什么时候使用?

有时我看到API使用long或Long或int或Integer,但我想不通如何做出决定?我应该什么时候选择? 最佳答案 Long是long的Object形式,Integer是int的对象形式.long使用64bits.int使用32位,因此最多只能保存±20亿的数字(-231到+231-1)。你应该使用long和int,除非你需要使用继承自Object的方法,例如hashcode。Java.util.collections方法通常使用盒装(Object-wrapped)版本,因为它们需要适用于任何Object和原语类型,如int或l

java - 将 BigDecimal 转换为 Integer

我有Hibernate方法,它返回一个BigDecimal。我有另一个API方法,我需要将该数字传递给它,但它接受Integer作为参数。我无法更改这两种方法的返回类型或变量类型。现在如何将BigDecimal转换为Integer并将其传递给第二个方法?有办法解决吗? 最佳答案 您可以调用myBigDecimal.intValueExact()(或只是intValue()),如果您丢失信息,它甚至会抛出异常。这会返回一个int,但自动装箱会处理这个问题。 关于java-将BigDecim

c++ - 这 std::ref 行为合乎逻辑吗?

考虑这段代码:#include#includeintxx=7;templatevoidf1(Targ){arg+=xx;}templatevoidf2(Targ){arg=xx;}intmain(){intj;j=100;f1(std::ref(j));std::cout执行时,此代码输出107100我希望第二个值是7而不是100。我错过了什么? 最佳答案 对f2的小修改提供线索:templatevoidf2(Targ){arg.get()=xx;}现在这符合您的预期。发生这种情况是因为std::ref返回std::referenc

C++ std::ref(T) 和 T& 之间的区别?

我对这个程序有一些疑问:#include#include#includeusingnamespacestd;templatevoidfoo(Tx){autor=ref(x);cout::value;}intmain(){intx=5;foo(x);return0;}输出是:false我想知道,如果std::ref不返回对象的引用,那它有什么作用呢?基本上,有什么区别:Tx;autor=ref(x);和Tx;T&y=x;另外,我想知道为什么会存在这种差异?当我们有引用(即T&)时,为什么我们需要std::ref或std::reference_wrapper?

c++ integer->std::string 转换。简单的功能?

问题:我有一个整数;这个整数需要转换为STL::string类型。过去,我使用stringstream进行转换,这有点麻烦。我知道C方法是执行sprintf,但我更愿意执行类型安全的C++方法。有没有更好的方法来做到这一点?这是我过去使用的字符串流方法:std::stringintToString(inti){std::stringstreamss;std::strings;ss当然,这可以改写成这样:templatestd::stringt_to_string(Ti){std::stringstreamss;std::strings;ss但是,我认为这是一个相当“重量级”的实现。Za

ios - 在 32 位和 64 位架构上格式化 NS(U)Integer 时类型转换的替代方法?

对于64位版本的iOS,我们不能再使用%d和%u来格式化NSInteger和NSUInteger。因为对于64位,这些类型定义为long和unsignedlong而不是int和unsignedint。因此,如果您尝试使用%d格式化NSInteger,Xcode会抛出警告。Xcode对我们很好,它提供了这两种情况的替代品,它包括一个以l为前缀的格式说明符和一个类型转换为long。那么我们的代码基本上是这样的:NSLog(@"%ld",(long)i);NSLog(@"%lu",(unsignedlong)u);如果你问我,那是眼睛疼。几天前,有人在Twitter上提到了格式说明符%zd来