精华内容
下载资源
问答
  • 发生这一错误的主要原因是Controller类中需要接收的是Date类型,但是在页面端传过来的是String类型,最终导致了这个错误。 这里提供两种解决方案,一种是局部转换,... @RequestMapping(value="/login.do") public Str

    关注微信公众号“假装正经的程序员”,回复“日期转换”即可获取解决方案

    发生这一错误的主要原因是Controller类中需要接收的是Date类型,但是在页面端传过来的是String类型,最终导致了这个错误。

    这里提供两种解决方案,一种是局部转换,一种是全局转换。

    <form action="login.do" method="post">
    		<input type="text" name="birthday" value="2017-07-12 22:04:00">
    		<input type="submit" value="提交">
    	</form>


    一.局部转换

    @Controller
    public class UserController{
    	
    	@RequestMapping(value="/login.do")
    	public String login(String username,Date birthday){
    		System.out.println("________");
    		return "";
    	}
    
            //只需要加上下面这段即可,注意不能忘记注解
    	@InitBinder
    	public void initBinder(WebDataBinder binder, WebRequest request) {
    		
    		//转换日期
    		DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    		binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));// CustomDateEditor为自定义日期编辑器
    	}
    }


    二.全局转换

    1.创建CustomDate类实现WebBindingInitializer

    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import org.springframework.beans.propertyeditors.CustomDateEditor;
    import org.springframework.web.bind.WebDataBinder;
    import org.springframework.web.bind.support.WebBindingInitializer;
    import org.springframework.web.context.request.WebRequest;
    
    /**
     * @作者:JackHisen(GWD)
     * @项目名:shoppingmall
     * @时间:2017-7-12 下午10:39:10
     * @version 1.0
     */
    public class CustomDate implements WebBindingInitializer{
    
    	@Override
    	public void initBinder(WebDataBinder binder, WebRequest request) {
    		// TODO Auto-generated method stub
    		//转换日期
    		DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    		binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
    	}
    }


    2.在Spring-MVC.xml中配置日期转换

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
    	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
    	xmlns:context="http://www.springframework.org/schema/context"
    	xsi:schemaLocation="
         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
         http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd
         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
         http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
    	<context:component-scan base-package="com.gwd.shopping" use-default-filters="false">
    		<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    	</context:component-scan>
    	
    	<!-- 日期转换 -->
    	<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
    		<property name="webBindingInitializer">
    			<bean class="com.gwd.shopping.core.web.CustomDate"/>
    		</property>
    	</bean>
    	
    	<bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    		<property name="prefix" value="/WEB-INF/back_page/"/>
    		<property name="suffix" value=".jsp"/>
    	</bean>
    </beans>

    展开全文
  • 1. Boolean.valueOf(String)用法  a. 当 String 的参数值在不区分大小写的时候等于 "true" ,则 Boolean.valueOf(String) 返回值为 true;  b. 否则返回值为 false ,参数为空时也返回 false 。.  ...

    1. Boolean.valueOf(String)用法

      a. 当 String 的参数值在不区分大小写的时候等于 "true" ,则 Boolean.valueOf(String) 返回值为 true;

      b. 否则返回值为 false ,参数为空时也返回 false 。.  

    /**
    * Boolean.valueOf(String)
    */
    public class BooleanTest {
        public static void main(String[] args) {
           boolean a = Boolean.valueOf("true");
           boolean b = Boolean.valueOf("TRUE");
           boolean c = Boolean.valueOf("tRUE");
           boolean d = Boolean.valueOf("abc");
           boolean b = Boolean.valueOf("false");
           boolean e = Boolean.valueOf("");
           System.out.println(a);
           System.out.println(b);
           System.out.println(c);
           System.out.println(d);
           System.out.println(e);
           System.out.println(f);
        }
    }
    
    //运行结果
    true
    true
    true
    false
    false
    false

    2. Boolean.valueOf(boolean)用法

      a. 当 boolean 类型的参数值为 true ,返回值为 true ;

      b. 当 boolean 类型的参数值为 false ,返回值为 false 。

    /**
    * Boolean.valueOf(boolean)
    */
    public class BooleanTest {
        public static void main(String[] args) {
           boolean a = Boolean.valueOf(true);
           boolean b = Boolean.valueOf(false);
           System.out.println(a);
           System.out.println(b);
        }
    }
    
    //运行结果
    true
    false

    2. Boolean.valueOf(String) 与 Boolean(String)

      a. Boolean 类有静态工厂方法 Boolean.valueOf(String) ,可以直接返回布尔类型的值,不需要开辟内存空间;

      b. 通过构造器 Boolean(String) 获取返回的布尔值时,都会创建一个新的对象,而这正是我们需要避免的;

      c. 因此,对于同时提供了静态工厂方法和构造器的不可变类,通常可以使用静态工厂方法而不是构造器,以避免创建不必要的对象。(*引自《Effective Java 中文版第2版》p17 第五条)

    展开全文
  • Double.parseDouble()与Double.valueOf()区别

    万次阅读 多人点赞 2016-11-16 13:28:34
    Double.parseDouble方法是把数字类型的字符串,转换成double类型Double.valueOf方法是把数字类型的字符串,转换成Double类型 double a = 0.009; String b = "1993"; double parseDouble = Double.parseDouble(b); ...

    Double.parseDouble方法是把数字类型的字符串,转换成double类型

    Double.valueOf方法是把数字类型的字符串,转换成Double类型

    		double a = 0.009;
    		String b = "1993";
    		
    		double parseDouble = Double.parseDouble(b);
    		System.out.println(parseDouble);
    		Double valueOf = Double.valueOf(a); 
    		Double valueOf2 = Double.valueOf(b); //1993.0
    		System.out.println(valueOf);//0.009
    		System.out.println(valueOf2);//1993.0
    

    结果是:

    1993.0
    0.009
    1993.0
    

    可以看出大体是没有任何区别,就是返回值的类型区别!


    Double.parseDouble()方法的源码:

    public static double parseDouble(String s) throws NumberFormatException {
            return FloatingDecimal.readJavaFormatString(s).doubleValue();
    }
    

    Double.valueOf()方法的源码:

      public static Double valueOf(String s) throws NumberFormatException {
    	      return new Double(FloatingDecimal.readJavaFormatString(s).doubleValue());
      }
    

    valueOf方法在返回的时候new Double(),所以返回的是Double。

    展开全文
  • String.valueOf

    千次阅读 2014-11-26 20:49:47
    String.valueOf方法有好几个重载方法,但是由于null不可能赋值给基本数据类型,所以只剩下2个备选的方法:String valueOf(char data[]) 和 String valueOf(Object obj) 查看代码可以看到String valueOf(Object obj)...

    今天在排查问题的时候发现String.valueOf 的一个有意思的问题:

    第一种情况:

    String.valueOf(null);

    第二种情况:

    Map<String, Object> map = new HashMap<String, Object>();
    String a = String.valueOf(map.get("a"));

    第一种情况会报空指针异常, 第二种情况不会报异常,只是得到一个null 。

    上网查了一下,原因如下:

    String.valueOf方法有好几个重载方法,但是由于null不可能赋值给基本数据类型,所以只剩下2个备选的方法:String valueOf(char data[]) 和 String valueOf(Object obj)

    查看代码可以看到String valueOf(Object obj)进行了判空,而String valueOf(char data[])没有。所以很明显,第一种情况调用了String valueOf(char data[]),所以是报了空指针异常;而第二种情况下,调用了String valueOf(char data[]),所以没有报。

    null对于String valueOf(char data[]) 和 String valueOf(Object obj)的参数都是使用的,那么java如何选择:

    首先,对于第二种情况,很容易理解,由于map指定了泛型,所以从这个map取出来的肯定是一个Object 类型的参数,肯定会调用String valueOf(Object obj)方法。

    对于第一种情况,java会选取精确度最高的一种重载方法。如果对于某个参数,String valueOf(char data[])可以适用的话,String valueOf(Object obj)是肯定可以适用的,所以String valueOf(char data[])的精确度就比String valueOf(Obect obj)的精确度要高,null同时适用于这两个方法,所以java会选取精确度较高的一个来执行。

    展开全文
  • valueOf()函数

    万次阅读 多人点赞 2019-08-23 14:58:12
    valueOf()函数用于返回指定对象的原始值。 该方法属于Object对象,由于所有的对象都"继承"了Object的对象实例,因此几乎所有的实例对象都可以使用该方法。 所有主流浏览器均支持该函数。 语法 object.valueOf( ) ...
  • 说明所有的对象都继承有toString() 和 valueOf() 方法,对象到字符串,对象到数字的转换,会通过调用待转换对象的这两个方法中的一个来完成。 解释toString( )方法的作用是:返回一个反映这个对象的字符串,而很多类...
  • String的valueOf方法源码解读

    千次阅读 2018-08-21 23:30:23
    String中的valueOf方法大致可以分为三种: String.valueOf(Object)、String.valueOf(char[])、String.valueOf(基本数据类型) 案例: Integer arg = null; String.valueOf(arg); // 输出 null String.value...
  • String.valueOf()的用法 1. 由 基本数据型态转换成 String  String 类别中已经提供了将基本数据型态转换成 String 的 static 方法  也就是 String.valueOf() 这个参数多载的方法  有下列几种  String.value...
  • Integer. valueOf()的使用

    万次阅读 多人点赞 2018-12-22 17:23:28
    valueOf()方法的作用  Integer. valueOf()可以将基本类型int转换为包装类型Integer,或者将String转换成Integer,String如果为Null或“”都会报错  2.Integer. valueOf()是高效的 public static Integer ...
  • Javascript valueOf 方法原理

    千次阅读 2017-12-19 15:45:59
    本文将介绍valueOf()方法。如果存在任意原始值,它就默认将对象转换为表示它的原始值;对象是复合值,而大多数对象无法真正表示为一个原始值,因此默认的valueOf()方法简单地返回对象本身,而不是返回一个原始值 【1...
  • vue-i18n.esm.js:14 [vue-i18n] Cannot translate the value of keypath 'xxx'. Use the value of keypath as default. 可以在创建 i18n 示例的时候加上参数去掉这些 warning const i18n = new VueI18n(...
  • String.valueOf()使用方法

    千次阅读 2018-10-28 21:46:53
    * String.valueOf()使用方法* String 类别中已经提供了将基本数据型态转换成 String 的 static 方法 ,也就是 String.valueOf() 这个参数多载的方法 有以下几种 (1)String.valueOf(boolean b) : 将 boolean 变量 b...
  • Java valueOf() 方法

    千次阅读 2019-01-17 18:31:38
    valueOf() 方法有以下几种不同形式: valueOf(boolean b): 返回 boolean 参数的字符串表示形式。. valueOf(char c): 返回 char 参数的字符串表示形式。 valueOf(char[] data): 返回 char 数组参数的...
  • Double.valueOf(),Float.valueOf() bug

    千次阅读 2016-11-11 14:12:12
    首先输入框的内容为整数或小数,一般来说为了方便会统一用Double.valueOf(),Float.valueOf()这两个函数处理,然后*100或/0.01。前面的函数部分没发现问题,但是函数处理后的值*100或/100有时候会出先偏差。原因不太
  • java valueOf()方法

    千次阅读 2019-05-21 00:10:36
    valueOf() 方法用于返回给定参数的原生 Number 对象值,参数可以是原生数据类型, String等。 该方法是静态方法。该方法可以接收两个参数一个是字符串,一个是基数。 语法 该方法有以下几种语法格式: static ...
  • Java BigDecimal valueOf()方法与示例

    千次阅读 2020-07-16 02:35:10
    BigDecimal类的valueOf()方法 (BigDecimal Class valueOf() method) Syntax: 句法: public static BigDecimal valueOf (double d); public static BigDecimal valueOf (long l); public static BigDecima...
  • a925:14 [vue-i18n] Value of key 'promotion_apply1' is not a string! warn @ vue-i18n.esm.js?a925:14 vue-i18n.esm.js?a925:14 [vue-i18n] Cannot translate the value of keypath 'promotion_a...
  • Java Double类valueOf()方法及示例

    千次阅读 2020-07-13 06:23:51
    Syntax: 句法: public static Double valueOf (double value); public static Double valueOf (String value)... 双类valueOf()方法 (Double class valueOf() method) valueOf() method is available in java....
  • parseInt 跟valueof区别??

    千次阅读 多人点赞 2018-03-21 16:14:33
    1、返回值不同 parseInt 返回值是int型 valueof 返回值是Integer型2、valueof就是调用了parseInt方法的3、parseInt效率比valueof效率高
  • String.valueOf() 方法的使用

    万次阅读 多人点赞 2018-09-05 14:31:15
    String.valueOf() 方法的使用 1. 由 基本数据型态转换成 String  String 类别中已经提供了将基本数据型态转换成 String 的 static 方法  也就是 String.valueOf() 这个参数多载的方法  有下列几种  String....
  • JS中令人发指的valueOf方法介绍

    千次阅读 2019-08-18 14:16:34
    转载自JS中令人发指的valueOf方法介绍 彭老湿近期月报里提到了valueOf方法,兴致来了翻了下ECMA5里关于valueOf方法的介绍,如下: 15.2.4.4 Object.prototype.valueOf ( ) When the valueOf method is called, the ...
  • valueOf()方法的使用

    千次阅读 2019-06-14 13:59:54
    valueOf()方法的使用 undefined和null没有valueOf()方法,使用会报错; 布尔类型true和false会返回原值; 字符串类型会返回原值; 数字: 如果是整数,需要用小括号将数字包起来再使用valueOf()方法,直接在数字...
  • System.out.println(new BigDecimal(“0.1”)); System.out.println(BigDecimal.valueOf(0.1)); System.out.println(new BigDecimal(0.1));
  • 碰到了警告:Cannot translate the value of keypath ‘stateList.’. Use the value of keypath as default. 百度了下,发现大多数都是配置i18n不显示警告的方式来解决,这不是掩耳盗铃么。 检查了下代码,发现其实...
  • JS中的valueOf方法

    千次阅读 2016-10-17 16:34:45
    彭老湿近期月报里提到了valueOf方法,兴致来了翻了下ECMA5里关于valueOf方法的介绍,如下: 15.2.4.4 Object.prototype.valueOf ( ) When the valueOf method is called, the following steps are taken: 1...
  • BigInteger类的valueOf()方法 (BigInteger Class valueOf() method) valueOf() method is available in java.math package. valueOf()方法在java.math包中可用。 valueOf() method is used to represent the given ...
  • Integer.valueOf() 注意事项

    千次阅读 2018-10-11 17:55:43
    Integer.valueOf() 注意事项 Integer.valueOf() //这个数据超过10位会报错的可以用Long.valueOf()替换
  • Integer类中的valueOf方法

    千次阅读 2018-11-08 21:25:52
    在一个公众号上看到一道面试题,由此引出对Integer类中的valueOf方法的探究。Integer类中的valueOf源码如下: public static Integer valueOf(int i) { assert IntegerCache.high &gt;= 127; if (i &gt;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,169,248
精华内容 867,699
关键字:

valueOf