工作中可能会遇到对 Map 进行 JSON 序列化,其中值中包含 Long 类型的数据,反序列化后强转 Long 时报类型转换异常的问题。
内置数据类型:Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
java八种基本数据类型分为四类八种,四类分别为整型、浮点型、布尔型、字符型;八种分别为byte、short、int、long、float、double、boolean、char; java八种基本数据类型的字节数:分别为1、2、4、8个字节;1字节(byte、boolean)、 2字节(short、char)、4字节(int、float)、8字节(long、double); 整数的默认类型为int,浮点数的默认类型为double; 八种基本数据类型的包装类:除了char的是Character、int类型的是Integer,其他都是首字母大写 关于值的范围问题,需要注意char类型是无符号的,不能为负,所以是0开始的; 详解二、直接量与类型转换 2.1、直接量 整数型的直接量默认为int类型 浮点型的直接量默认为double类型 @Test public void d() { int a=100;//这个100就是直接量 a=a+100;//但是这个a+100不是直接量 double b=3.14; } 2.2、类型转换 1.自动转换:低类型的向高类型的转换
1995年,当年如日中天的Sun公司发布了Java语言,引起了巨大的轰动,与当时主流的C语言和Basic语言比起来,Java语言简单、面向对象、稳定、与平台无关、解释型、多线程、动态等特点,就像是打开了一个新的世界,一时间风靡全球,云集者众,微软为了模仿Java搞出C#语言,Netscape为了赶时髦硬塞出一个JavaScript语言,IBM则捏着鼻子做了Java IDE Eclipse(日蚀,呵呵)。直到现在,Java在编程世界里还占据着举足轻重的地位,Andy Rubin在开发Android系统时,也很自然地采用了Java和C++(C++负责NDK开发)作为开发语言。
注:定点数以字符串形式存储,对精度要求高时使用decimal较好;尽量避免对浮点数进行减法和比较运算。
基本类型与引用类型的区别: 1.基本类型与引用类型的组成 基本类型是一个单纯的数据类型,它表示的是一个具体的数字、字符或一个布尔值,例如100、'M'和true。对于引用类型,若一个变量引用的是一个复杂的数据结构的实例,则该变量的类型就属于引用类型,在引用类型变量所引用的实例中,不仅可以包含基本类型的变量,还可以包括对这些变量进行操作的行为。 例如:创建一个People类,该类中包含了一个short型的成员变量和一些String型变量,并且定义了对这些成员变量进行操作的方法,其代码如下: public class People{ private String id; //表示身份证号码 private String name; //表示姓名 private short age; //表示年龄 private String sex; //表示性别 public void setId(String id){ //设置成员变量id值的方法 this.id=id; } public String getId(){ //返回成员变量id值的方法 return this.id; } …//省略了其他成员变量的setXXX()与getXXX()方法 } 下面创建People类的两个实例,并分别通过变量you和me引用: People you=new People(); People me=new People(); 则变量you与me的类型为引用类型,并且引用的是类的实例,所以更具体的为类引用类型。对于类引用类型变量,通过运算符“.”就可以访问类中的成员变量和方法了。例如,通过以下代码分别为变量you与me所引用的实例设置成员变量name的值: you.setName("reader"); //设置name值为"reader" me.setName("MR"); //设置name值为"MR" 通过以下代码来输出引用变量you与me所引用实例的name值: System.out.println(you.getName()); //输出"reader" System.out.println(me.getName()); //输出"MR" 2.Java虚拟机的处理方式 对于基本类型的变量,Java虚拟机会根据数据类型为其分配实际占用的内存空间,如对int型变量为其分配32位内存空间并存放变量值。 而对于引用类型变量,Java虚拟机同样要为其分配内存空间,但该空间内存放的并不是变量所引用的对象,而是对象在堆区存放的地址。所以引用变量最终只是指向被引用的对象,而不是存储了被引用的对象,因此两个引用变量之间的赋值,实际上就是将一个引用变量存储的地址复制给另一个引用变量,从而使两个变量指向同一个对象。 例如:定义两个Book类型的类引用变量book1和book2,其中变量book1引用Book类的一个对象,book2不引用任何对象。 Book类中定义了一个float型成员变量price,表示价格,代码如下: public class Book{ private float price=50.0f; //float型成员变量price, 表示价格 private int store=100; //int型成员变量store, 表示库存 private String name; //String类型成员变量name, 表示书名 } 通过以下代码定义book1和book2引用变量。 Book book1=new Book(); Book book2=null; Java虚拟机为引用变量book1、book2及book1所引用对象的成员变量分配的内存空间如图1所示。 从图1可以看出变量book1引用了Book类的实例,book2没有引用任何对象,下面通过如下代码对book2变量进行赋值。 book2=book1 //将book1引用对象的地址复制给book2变量, book1与boo
JAVA(二) 上次课留下了一个作业,用五个println打印五句话描述自己的家乡,下面是我写的 public class Test { public static void main(String[] args) { System.out.println("我的家乡是湖北荆门"); System.out.println("那里每天都有新鲜的雾霾"); System.out.println("有着不同臭味的河流");
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
在使用Java JDBC时,你是否有过这样的疑问:MySQL里的数据类型到底该选择哪种Java类型与之对应?本篇将为你揭开这个答案。
java.lang.Long.valueOf(String, int)是借助于parseLong进行转换
MyBatis 在设置预处理语句(PreparedStatement)中的参数或从结果集中取出一个值时, 都会用类型处理器将获取到的值以合适的方式转换成 Java 类型。下表描述了一些默认的类型处理器。
在写代码的时候使用 StringBuilder 进行字符串拼接时,IDEA 很可能会给出下面的提示: ‘StringBuilder’ can be replaced with ‘String’ 。
float、double不能用来表示精确的值,运算不精确——>解决方案:BigDecimal。
在 Kotlin 中,所有东西都是对象:数字、字符、布尔和数组。(JavaScript)
所有 Java 类的最终祖先,编译系统默认继承 Object 类,Object 类包含了所有 Java 类的公共属性和方法。
最近遇到一个错误,就是某个字段肯定是Long类型的,通过Map方式转成JSON字符串,然后存到了DB的某个字段里。
Java语言提供了八种基本类型。六种数字类型(四个整数型(默认是int 型),两个浮点型(默认是double 型)),一种字符类型,还有一种布尔型。
简单工具类 写作初衷:由于日常开发经常需要用到很多工具类,经常根据需求自己写也比较麻烦 网上好了一些工具类例如commom.lang3或者hutool或者Jodd这样的开源工具,但是 发现他们之中虽然设计不错,但是如果我想要使用,就必须要引入依赖并且去维护依赖,有些 甚至会有存在版本编译不通过问题,故此想要写作一个每个类都可以作为独立工具类使用 每个使用者只需要复制该类,到任何项目当中都可以使用,所以需要尊从以下两个原则才能 做到.在此诚邀各位大佬参与.可以把各自用过的工具,整合成只依赖JDK
在Kotlin中,所有东西都是对象,所以我们可以调用成员函数和属性的任何变量对象。有些类型是内置的,他们的实现被优化过, 但是用户看起来他们就像普通的类. 本节我们会描述这些类型: numbers, characters, booleans 和 arrays.
java.lang.System 类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在System类的API文档中,常用的方法有:
上一篇已经介绍了优雅的操作Redis: 【小家Spring】Spring Boot中使用RedisTemplate优雅的操作Redis,并且解决RedisTemplate泛型注入的问题。本篇着重介绍一下几种常用的序列化方式
React Native是一款移动端应用程序框架,由于该框架允许开发人员使用React和原生平台功能,目前有很多Android和iOS应用程序都是基于该框架进行开发的。
(1) JAVA 介绍 詹姆斯.高斯林(James Gosling) JAVA之父,与SUN公司的Patrick/Naughton/Mike Sheridan等人合作开发的一套语言叫”Oak”,后改名JAVA; Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言(Java面向对象程序设计语言和Java平台的总称)。
由于 String 类型描述的字符串内容是常量不可改变,因此 Java 虚拟机将首次出现的字符串放入常量池中,若后续代码中出现了相同字符串内容则直接使用池中已有的字符串对象而无需申请内存及创建对象,从而提高了性能。
面向对象(Object-Oriented,简称 OO)和面向过程(Procedural,简称 PO)是两种不同的编程范式。它们的主要区别在于关注点、设计原则和代码组织方式。以下是面向对象和面向过程之间的一些主要区别:
API(Application Programming Interface),应用程序编程接口。Java API是一本程序员的 字典 ,是JDK中提供给我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。
Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。
java.lang.reflect包提供了用于获取类和对象的反射信息的类和接口。反射API允许对程序访问有关加载类的字段,方法和构造函数的信息进行编程访问。它允许在安全限制内使用反射的字段,方法和构造函数对其底层对等进行操作。
使用 Map<String,Object> 对象接收前端传递的参数,在后端取参时,因为接口文档中明确该字段类型为 Long ,所以对接收的参数进行了强转,即 (Long)参数 ,但是却发生了类型转换异常,报错信息如下:
java.lang.Object 类是所有类的父类。它描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。
本节首先讨论number类。lang包及其子类,以及使用这些类的实例化而不是原始数字类型的情况。
所谓工具类,即将完成通用功能的方法分类放到类中,工具类能够被高效地重复使用,使我们的编码快速、高效。
返回表示指定的byte值的Byte实例。 如果不需要新的Byte实例,优先使用此方法,而不是构造函数Byte(byte) , 此方法有更好的空间和时间性能,因为所有字节值都被缓存。
JNI(Java Native Interface,Java 本地接口)是 Java 生态的特性,它扩展了 Java 虚拟机的能力,使得 Java 代码可以与 C/C++ 代码进行交互。 通过 JNI 接口,Java 代码可以调用 C/C++ 代码,C/C++ 代码也可以调用 Java 代码。
最近在代码迁移过程中,遇到了 JSON 解析失败的问题。具体表现为出现 "Cannot deserialize instance of java.lang.String out of START_OBJECT token" 错误。经过仔细研究和调试,发现问题的根源在于之前使用的 fastjson 转换库被替换为 jackson 后无法正确读取数据。
java.lang.Object 类是 Java 语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使
自从 Android Studio 升级到 2.3 版本以后,使用 CMake 进行编译就方便多了,不需要再写 Android.mk 了,也不需要用 javah 来生成头文件了,直接写好 native 方法,快捷方式就可以生成对应的 C++ 方法,只要专注写好 C++ 代码,CMake 就可以指定的 CPU 架构生成对应的 SO 库。
CSDN加速:https://codechina.csdn.net/mirrors/evil0ps/utils 源码和jar见:https://github.com/evil0ps/utils
Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类,如下:
Object 类是所有类的父类,若一个类没有指定继承的类则继承Object。任一类都直接或间接继承于Object。
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/180
Java是一种面向对象语言,Java中的类把方法与数据连接在一起,构成了自包含式的处理单元。在Java中不能定义基本类型对象,为了能将基本类型视为对象进行处理,并能连接相关的方法,Java为每个基本类型都提供了包装类,这样就可以把基本类型转换为对象来处理了。
随着疫情的放开,在家里闲来无事的我出门放风。电梯里无意间瞥见一张“招婿”启示,寻找一位又高又帅的 IT 同行人员当女婿,女不女婿什么的无所谓,“一位又高又帅的 IT 同行人员”这说的不就是我吗?定睛一看,还是 Java 语言写的,简单分析了一下:为了排除掉非 IT人员的骚扰,对口寻人,通过数组来获取联系方式,这年头不懂点技术还不能结婚是吧?这更不是术业有专攻吗?来劲了,我都不想出去玩了,这条件,被人捷足先登了怎么办!为了兄弟们的老婆,作为新时代雷锋,我来为你们打下第一关。
java.lang.String 类代表字符串。 Java 程序中所有的字符串文字(例如 "abc" )都可以被看作是实
领取专属 10元无门槛券
手把手带您无忧上云