- [x] I have searched the [issues](https://github.com/apache/incubator-dubbo/issues) of this repository and believe that this is not a duplicate.
- [x] I have checked the [FAQ](https://github.com/apache/incubator-dubbo/blob/master/FAQ.md) of this repository and believe that this is not a duplicate.

### Environment

* Dubbo version: 2.5.x, 2.6.x
* Operating System version: windows 7
* Java version: jdk1.7,jdk1.8

### Steps to reproduce this issue

1. String convert to java.sql.Time
2. String convert to java.sql.Date
3. String convert to java.sql.Timestamp

### Expected Result

The Convert is successful and you can get the object of the converted type.

### Actual Result

Conversion failed.

When the interface is called by 'jmeter-plugin-dubbo', it is passed into the hashmap through a generalization call. The value in the hashmap is a Date string, and an error occurred when the server accepts a type of java.sql.timestamp |Date

If there is an exception, please attach the exception trace:

```
java.lang.RuntimeException: Failed to set pojo TestVo property timestamp value 2018-09-13 10:00:00(class java.lang.String), cause: argument type mismatch
	at com.alibaba.dubbo.common.utils.PojoUtils.realize0(PojoUtils.java:456)
	at com.alibaba.dubbo.common.utils.PojoUtils.realize(PojoUtils.java:196)
	at com.alibaba.dubbo.common.utils.PojoUtils.realize(PojoUtils.java:86)
	at com.alibaba.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:68)
	at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)
	at com.alibaba.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38)
	at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)
	at com.alibaba.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:38)
	at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)
	at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:103)
	at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:96)
	at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:172)
	at com.alibaba.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:51)
	at com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:80)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalArgumentException: argument type mismatch
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at com.alibaba.dubbo.common.utils.PojoUtils.realize0(PojoUtils.java:453)
	... 16 more
```

list.add(new Person());
        list.add(new SerializablePerson());
        map.put("k", list);
        Object generalize = PojoUtils.generalize(map);
        Object realize = PojoUtils.realize(generalize, Map.class);
        assertEquals(map, realize);
    }
    @Test
    public void test_PrimitiveArray() throws Exception {
        assertObject(new boolean[]{true, false});
        assertObject(new Boolean[]{true, false, true});
        assertObject(new byte[]{1, 12, 28, 78});
        assertObject(new Byte[]{1, 12, 28, 78});
        assertObject(new char[]{'a', '中', '无'});
        assertObject(new Character[]{'a', '中', '无'});
        assertObject(new short[]{37, 39, 12});
        assertObject(new Short[]{37, 39, 12});
        assertObject(new int[]{37, -39, 12456});
        assertObject(new Integer[]{37, -39, 12456});
        assertObject(new long[]{37L, -39L, 123456789L});
        assertObject(new Long[]{37L, -39L, 123456789L});
        assertObject(new float[]{37F, -3.14F, 123456.7F});
        assertObject(new Float[]{37F, -39F, 123456.7F});
        assertObject(new double[]{37D, -3.14D, 123456.7D});
        assertObject(new Double[]{37D, -39D, 123456.7D});
        assertArrayObject(new Boolean[]{true, false, true});
        assertArrayObject(new Byte[]{1, 12, 28, 78});
        assertArrayObject(new Character[]{'a', '中', '无'});
        assertArrayObject(new Short[]{37, 39, 12});
        assertArrayObject(new Integer[]{37, -39, 12456});