类型转换

spring - springMVC - 自定义类型转换

可紊 提交于 2019-12-01 18:43:15
https://www.cnblogs.com/clamp7724/p/11703406.html 在这个基础上修改的 spring中设置了自动的类型转换,可以把前台数据自动进行类型转换传给后台,不过有些特殊情况可能需要自己定义类型转换 比如前台传回String 2019/10/21 后台是可以自动转化为 Date 的 但是如果是 2019-10-21 就会报错 这时候就需要自定义类型转换并加到spring中。 reference: https://www.bilibili.com/video/av50213945/?p=14 第一步:定义一个类,实现Converter接口,该接口有两个泛型。 第二步: 在springmvc.xml (springmvc的配置文件,在resources下面)里的beans里添加新的bean <!-- 配置类型转换器工厂 添加新的类型转换--> <bean id="converterService" class="org.springframework.context.support.ConversionServiceFactoryBean"> <!-- 给工厂注入一个新的类型转换器 --> <property name="converters"> <array> <!-- 配置自定义类型转换器 这里class是自己写的转换类的完整名字(路径+名字)

PL/SQL查漏补缺(1)-----数据类型

北战南征 提交于 2019-12-01 17:32:37
1.1 数据命名规则   声明时可以把名字放在双引号之中,实际上可以跳过除最长30字符的所有限制,例如: declare "True_lower_case"  INTEGER; " "         DATE; --没错,四个空格也可以! “123_gogo”     varchar2(10); begin end;   注意:代码中要引用这些名字也同样需要使用双引号。 1.2 数据类型   1.2.1 布尔类型     PL/SQL支持三值的布尔数据类型:TRUE,FALSE,NULL   1.2.2 二进制数据类型     Oracle支持几种形式的二进制数据,包括RAW,BLOB,和BFILE   1.2.3 Internet数据类型     Oracle提供了针对XML和URI数据的数据类型,以及一个叫做DBUri-REF的类。     可以用SYS_XML.GEN函数和DBMS_XMLGEN程序包在数据库中查询和存储XML数据。还允许我们用SQL语句中的原生操作符通过Xpath语言搜索XML文档。     URI相关的类型有URIType和HTTPURIType,都属于一个对象继承层次的一部分,可以用于保存外部WEB页面的URL和文件,同时也可以指向内部数据库的数据。   1.2.4 “Any”数据类型     “Any”类型可以使我们动态的封装和访问类型描述

Java之路---Day01

左心房为你撑大大i 提交于 2019-12-01 17:01:51
2019-10-17-19:36:43 标识符:   标识符:是指在程序中,自己定义的内容.如:类名、方法名、变量名等 命名规则(硬性要求):   1.有英文字母(区分大小写)、数字、$(美元符)、_(下划线)组成   2.不能以数字开头   3.不能是关键字 命名规范(软性建议):   1.类名:首字母大写,后面每个单词首字母大写(大驼峰)   2.变量名:首字母小写,后面每个单词首字母大写(小驼峰) 常量:   概述:是指在Java程序运行期间固定不变的数据   分类:     1.整数常量:所有整数,如:1、2、3、567等     2.小数常量:所有小数,如:1.2、2.3、2.33等     3.字符常量:单引号引起来的一个字符,必须要有内容,如'A'、'好'     4.字符串常量:双引号引起来的,可以多个字符,也可以不写,如:"A"、"Hello"、"你好"     5.布尔常量:只有两个值,true和false     6.空常量:null 数据类型:    基本数据类型:包括整数、浮点数、字符、布尔   引用数据类型:包括类、数组、接口 基本数据类型:    1.字节型(byte):1个字节(-128~127)   2.短整型(short):2个字节(-32768~32767)   3.整型(int):4个字节(-2^31~2^31-1)   4.长整型(long

类型转换

一世执手 提交于 2019-12-01 13:25:16
这今天有朋友面试遇到一个题是这样的 int main() { unsigned int a = 6; int b = -20; a + b > 6? puts(">6"):puts("<=6"); return 0; }   问你说出结果 如果你不了解隐式类型转换,你很大可能说 <= 6 结果是 .>6 哎,我就深入理解类型转换吧 所谓类型转换就是一种数据类型转换成为另一种数据类型 在一个算术表达式中,如果出现两个不同数据类型,就会先进性类型转换,在计算表达式的值 比如 cout << 34 + 21.45 + 'a' << endl; 34 是int,21.45是double,'a'是char类型。 运算的过程如下 34会先转换成double类型 34.00,再完成34.00+21.45的 运算,得到当前结果 55.45 ,然后将 'a' 转换成double类型,97.00 再计算 55.45 + 97.00 得到最终结果 152.45 而类型转换分为隐式类型转换和显示类型转换。 c++中类型转换发生在,算术表达式计算,函数参数传递,函数返回值及赋值语句中 我们先谈谈隐式类型转换吧 下面四种情况会发生隐式类型转换 定义: c++会自动对参与运算的数据类型进行转换,不需要人参与叫隐式类型转换 来源: https://www.cnblogs.com/mch5201314/p

conversion function——转换函数

只愿长相守 提交于 2019-12-01 13:17:28
类型转换函数 与 explicit关键字 1.类型转换函数 在 C++ 中,可以使用构造函数将一个指定类型的数据转换为类的对象,也可以使用类型转换函数 (type conversion function)将一个类对象转换为其他类型的数据。例: 分数(Fraction)类 1 #include <iostream> 2 3 using namespace std; 4 5 class Fraction 6 { 7 public: 8 Fraction(int num, int den = 1) :m_numberator(num), m_denominator(den) {} 9 10 operator double() const //转换函数 11 { 12 return (double)m_numberator / m_denominator; 13 } 14 15 private: 16 int m_numberator; //分子 17 int m_denominator; //分母 18 }; 19 20 int main() 21 { 22 Fraction f(3,4); 23 double d = 3 + f; //调用 opertor double() 将f转化为double 24 cout << d << endl; 25 return 0; 26 }

自定义类型转换器,转换过程中的错误处理

萝らか妹 提交于 2019-12-01 09:14:05
参数封装过程中,数据类型转换问题 1、 struts2 内部提供大量类型转换器,用来完成数据类型转换问题 boolean 和 Boolean char和 Character int 和 Integer long 和 Long float 和 Float double 和 Double Date 可以接收 yyyy-MM-dd格式字符串 数组 可以将多个同名参数,转换到数组中 集合 支持将数据保存到 List 或者 Map 集合 案例: 输入合法年龄和生日可以自动转换 当输入abc 转换为 int类型 age时 Caused by: java.lang.NoSuchMethodException: cn.itcast.struts2.demo3.CustomerAction.setAge([Ljava.lang.String; 分析: 输入20 ,转换 int类型20 --- setAge(int) 输入abc,转换int 出错 ---- setAge(String) ----- 报错方法不存在异常 2、 自定义类型转换器 (了解) 1) 自定义类型转换器 第一种 实现TypeConverter接口 convertValue(java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Object

普通函数和函数模板的区别

限于喜欢 提交于 2019-12-01 08:40:29
1.普通函数会发生隐式类型转换 2.函数模板自动类型推导不发生隐式类型转换 3.函数模板显示指定类型发生隐式类型转换 1 #include<bits/stdc++.h> 2 using namespace std; 3 4 template<class T> 5 T add(T a,T b) 6 { 7 return a + b; 8 } 9 10 int padd(int a,int b) 11 { 12 return a + b; 13 } 14 15 //普通函数会发生隐式类型转换 16 //函数模板自动类型推导不发生隐式类型转换 17 //函数模板显示指定类型发生隐式类型转换 18 int main() 19 { 20 int a = 1,b = 2; 21 char c = 'a'; 22 cout << padd(a , b) << endl; 23 cout << padd(a , c) << endl; 24 cout << add(a,b) << endl; 25 //cout << add(a,c) << endl;//函数模板自动类型推导不发生隐式类型转换 26 27 cout << add<int>(a,b) << endl; 28 cout << add<int>(a,c) << endl; 29 } 来源: https://www.cnblogs.com

java数据类型转换

吃可爱长大的小学妹 提交于 2019-12-01 07:53:14
/* 数据类型不一样时,将发生数据类型转换。 自动类型转换(隐式): 1、特点:代码不需要进行特殊处理,自动完成 2、规则:数据范围从小到大,与字节数无关 强制类型转换(显式): 1、特点:代码需要进行特殊处理,不自动完成 2、格式:范围小的类型 范围小的变量名 = (范围小的类型) 原本范围大的数据类型 注意事项: 1、 强制数据转换一般不推荐使用,因为有可能精度损失,数据溢出 2、 byte/short/char 这三种类型可以发生数学运算,如使用加法“+” 3、 byte/short/char这三种类型在运算的时候,都会被首先提升为int类型,然后在计算 4、 boolean类型不能发生数据类型转换 */ public class DataTypeChange{ public static void main(String[] args){ System.out.println(1024); // 这就是一个整数,默认就是int类型 System.out.println(3.14); // 这就是一个浮点数,默认就是double类型 //左边是long类型,右边是默认的int类型,左右不一样 //一个等号代表赋值,将右侧的int常量交给左侧的long变量进行存储 // int————> long 符合数据范围从小到大的要求 // 这一行代码发生自动类型转换 long num1

数据类型转换

筅森魡賤 提交于 2019-12-01 06:14:15
在Java中,一些数据类型之间是可以相互转换的。 隐式类型转换(自动类型转换) 强制类型转换 隐式类型转换 隐式类型转换:在程序中,空间保存的数据类型不一致的时候,java内部会自动的帮助我们转换。 要能够自动转换,必须遵守Java中的自动转换的规则: 可以把小空间中的数据给大空间中保存。 byte 空间中的数据, 可以自动的转成 short int long float double 但是不能把double 保存在 byte 、int 、 short 、long 等空间。 案例代码 /* +:是一个运算符,做加法运算的。 我们在做运算的时候,一般要求参与运算的数据类型必须一致。 类型转换: 隐式转换 强制转换 隐式转换 byte,short,char -- int -- long -- float -- double */ public class TypeCastDemo { public static void main(String[] args) { //定义两个int类型的变量 int a = 3; int b = 4; int c = a + b; System.out.println(c); //定义一个byte类型,定义一个int类型 byte bb = 2; int cc = 5; System.out.println(bb + cc); //我能不能不直接输出

使用mapstruct进行对象类型转换

大城市里の小女人 提交于 2019-12-01 02:53:26
领域对象之间的转换很常见,之前有几次用BeanUtil在某些时候漏掉一些字段,而且也不够灵活,所以就没在用。 然后基本都是手写convert类,但是多了就觉得很麻烦。。。 后来发现了mapstruct maven依赖 <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-jdk8</artifactId> <version>1.3.0.Final</version> </dependency> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>1.3.0.Final</version> </dependency> 看一下如何使用吧: 首先写两个类A和B @Data public class A { private String name; private int age; private Date date; } @Data public class B { private String username; private int age; private String date; } 转换类接口TestConverter,通过