From 71f78ebaade0ff02779da1d8157dd576c88dedce Mon Sep 17 00:00:00 2001 From: yndu13 Date: Thu, 23 Mar 2023 10:53:13 +0800 Subject: [PATCH] transfer data from number type to boolean type --- src/main/java/com/aliyun/tea/TeaModel.java | 2 +- src/test/java/com/aliyun/tea/TeaModelTest.java | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/aliyun/tea/TeaModel.java b/src/main/java/com/aliyun/tea/TeaModel.java index 8eeb1c8..0130870 100644 --- a/src/main/java/com/aliyun/tea/TeaModel.java +++ b/src/main/java/com/aliyun/tea/TeaModel.java @@ -369,7 +369,7 @@ public static Object confirmType(Class expect, Object object, String objectName) logger.info("[{}] There are some cast events happening. expect: {}, but: {}, value: {}.", objectName, Boolean.class.getName(), object.getClass().getName(), object.toString()); return Boolean.parseBoolean(String.valueOf(object)); - } else if (object instanceof Integer) { + } else if (object instanceof Number) { if (object.toString().equals("1")) { logger.info("[{}] There are some cast events happening. expect: {}, but: {}, value: {}.", objectName, Boolean.class.getName(), object.getClass().getName(), object.toString()); diff --git a/src/test/java/com/aliyun/tea/TeaModelTest.java b/src/test/java/com/aliyun/tea/TeaModelTest.java index cf3fc81..c87c454 100644 --- a/src/test/java/com/aliyun/tea/TeaModelTest.java +++ b/src/test/java/com/aliyun/tea/TeaModelTest.java @@ -645,6 +645,12 @@ public void confirmTypeTest() { Assert.assertEquals("false", object3); object3 = TeaModel.confirmType(Integer.class, object2); Assert.assertEquals(0, object3); + Long boolLong1 = 1L; + Long boolLong2 = 0L; + object2 = TeaModel.confirmType(Boolean.class, boolLong1); + Assert.assertEquals(true, object2); + object2 = TeaModel.confirmType(Boolean.class, boolLong2); + Assert.assertEquals(false, object2); Integer integer = 2; Object object4 = TeaModel.confirmType(Double.class, integer);