Tag: 类型转换

缩小类型转换:为什么允许将int赋值给声明中的字节?

对于中级Java程序员来说,这听起来太微不足道了。 但在我审查Java基础知识的过程中,发现了一个问题: 为什么缩小转换范围如下: byte b = 13; 将被允许 int i = 13; byte b = i; 会被编译器抱怨吗?

org.json.JSONObject.getLong给出了不精确的结果

在android中,我们可以看到附图,我从服务器收到的json是“id = -705156352446547 2446 ”,但代码jsonObject.getLong(“id”)给出-705156352446547 2512 。 我可以看到每个getLong转换在最后4位数中有不精确的结果(或丢失精度?)。 我错过了什么吗? 我的设置:java 1.6.0_41,Android 4.1.2,IntelliJ 12 IDE。

为什么在以下代码中从int转换为float时会出现值丢失?

int value1 = 123456789; float value2 = value1; System.out.println(value1); System.out.println(value2); 输出: 123456789 123456792

编译时和运行时的Downcasting / Upcasting错误?

请检查以下程序。 我怀疑编译器何时会在编译器级别发出转换exception以及什么时候它将在runtime ? 喜欢下面的程序,表达 我假设(Redwood) new Tree()应该在编译时失败,因为Tree不是Redwood。 但它在compile time没有失败,正如预期的那样,它在runtime失败了! public class Redwood extends Tree { public static void main(String[] args) { new Redwood().go(); } void go() { go2(new Tree(), new Redwood()); go2((Redwood) new Tree(), new Redwood()); } void go2(Tree t1, Redwood r1) { Redwood r2 = (Redwood)t1; Tree t2 = (Tree)r1; } } class Tree […]

如何使用jQuery Ajax将javascript数组发送到struts动作

我是Struts 2的新手。我想通过使用jQuery AJAX请求将一个javascript数组发送到Struts动作类。 警报工作正常, execute()不起作用。 当我把System.out.println(“language : “+ language); 在execute()方法中,输出是 语言: null 。 var langArr = []; $(“#language”).each(function() { var selectedLang = $(“select”).val(); var selectedValues = $(this).val(); langArr.push(selectedValues); }); alert(“Languages : ” + langArr); $.ajax({ method: “POST”, url: “getProjectPost”, data: { “language” : langArr }, dataType : “json”, traditional: true, success: function() { alert(“Success”); }, […]

获取字符串“600sp”的整数部分的最佳方法是什么?

我有一个字符串,说“600sp”,我希望从中得到整数部分(600)。 如果我执行Integer.valueOf(“600sp”)由于字符串中遇到的非数字值“s”,我得到一个exception。 获取整数部分的最快最干净的方法是什么? 谢谢!

如何在Java中执行unsigned to signed转换?

假设我从输入设备读取这些字节:“6F D4 06 40”。 该数字是MilliArcSeconds格式的经度读数。 顶部位(0x80000000)基本上始终为零,并且对于此问题将被忽略。 我可以轻松地将字节转换为无符号整数:1876166208 但是如何将无符号值转换为31位有符号整数的最终forms? 到目前为止,我所提出的是: 如果值&0x40000000然后它实际上是负数,需要转换它 如果它是负数,则剥离顶部位并对剩余的位执行某些操作… 所以我可以判断它是否为负数,但为了知道负数是多少值,我必须对其余的位做些什么 – 一个人的恭维? 我如何用Java做到这一点? 另一种提出问题的方法是,如何在Java中将无符号整数转换为31位有符号整数? 谢谢!

从2或4个字节转换为有符号/无符号short / int

我必须将字节转换为signed / unsigned int或short。 以下方法是正确的吗? 签名哪个未签名? 字节顺序:LITTLE_ENDIAN public static int convertTwoBytesToInt1(byte b1, byte b2) { return (int) ((b2 << 8) | (b1 & 0xFF)); } VS. public static int convertTwoBytesToInt2(byte b1, byte b2) { return (int) (( (b2 & 0xFF) << 8) | (b1 & 0xFF)); } 和 public static int convertFourBytesToInt1(byte b1, byte b2, […]

Spring ConversionService添加转换器

我搜索了下面的问题,但找不到答案。 我想通过编写实现org.springframework.core.convert.converter.Converter的自定义转换器来使用spring的转换服务。 然后我添加我的自定义转换器如下: 在执行上述操作时,我的应用程序初始化失败,因为我重写了bean conversionService并仅注册了我的自定义转换器。 我怎么能不覆盖conversionService并只将我的自定义转换器添加到转换器列表中,同时保留现有转换器? 提前致谢。

从Java到SQL的日期转换日期在Java中提供不同的输出?

我有一个字符串forms的日期。 我必须将其更改为Sql Date。 所以为此我使用了以下代码。 String startDate=”01-02-2013″; SimpleDateFormat sdf1 = new SimpleDateFormat(“dd-mm-yyyy”); java.util.Date date = sdf1.parse(startDate); java.sql.Date sqlStartDate = new java.sql.Date(date.getTime()); 当我使用上面的代码并运行它。 我得到了以下输出。 2013-01-01. 这里月没有正确转换。 请告诉我问题出在哪里,并提供示例代码以获得正确的结果?