String.valueOf、toString、(String)以及 parseInt和valueof的区别

本文深入解析Java中字符串类型的三种常见转型方法:toString、valueOf及强制类型转换,对比parseInt与valueOf的区别,强调valueOf处理null的独特方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字符串类型的转型在java中常用的方法有标题中的三种

1、toString,需要保证调用这个方法的类、方法、变量不为null,否则会报空指针。

2、String.valueOf。这个方法在使用的时候是有些特殊的。一般情况下,如果是确定类型的null传入,返回的是字符串“null”,而如果直接传入null,则会发生错误。

3、(String) 字符串类型强转。需要保证的是类型可以转成String类型。

这里重点介绍valueOf。

举个例子:

   String teString=null;
            teString=String.valueOf(teString);
            System.out.println(teString);
这样的写法,因为确定了传入的是String类型,在valueOf调用对应构造函数时不会发生错误,因此,返回的是字符串“null”。
   String.valueOf(null);
但如果改为以上的写法,则提示空指针。

 

 

 

 parseInt和valueof的区别

他们返回类型的不同是最大的原因: 


static int parseInt(String s) 
          将字符串参数作为有符号的十进制整数进行分析。 

static Integer valueOf(int i) 
          返回一个表示指定的 int 值的 Integer 实例。 
static Integer valueOf(String s) 
          返回保持指定的 String 的值的 Integer 对象。 

从返回值可以看出他们的区别   parseInt()返回的是基本类型int 
而valueOf()返回的是包装类Integer  Integer是可以使用对象方法的  而int类型就不能和Object类型进行互相转换 

Integer.parseInt(chuan)返回值是int型的. 
Integer.valueOf(chuan)返回值是Integer型的.把Integer赋值给int型的话,JRE会自己完成这些工作. 
 

 

 

public void executeSQL() { Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { try { System.out.println("开始同步用户教师"); EncrypDES encrypDES = new EncrypDES(); List<HashMap<String, Object>> userList = stuBaseEntireMapper.getUser(); List<HashMap<String, Object>> teacherUserList = stuBaseEntireMapper.getTeacherUser(); //插入mysql数据库中去 教师 for (HashMap<String, Object> teacherUser : teacherUserList) { HybUser user = new HybUser(); user.setId(Tool.getUUID32()); //TODO ISDEL user.setIsdel(0); user.setCreatetime(new Date()); user.setCreateuser(String.valueOf(teacherUser.get("gh"))); user.setUpdatetime(new Date()); user.setUpdateuser(String.valueOf(teacherUser.get("gh"))); user.setLoginuid(String.valueOf(teacherUser.get("gh"))); // md5加密后小写 取5到25位 String md5_newpasswordbyfrist = Tool.MD5(defaultPassword).toLowerCase().substring(5, 25); //md5_newpasswordbyfrist结果加上loginid的md5加密 String md5_newpassword = Tool.MD5(md5_newpasswordbyfrist + String.valueOf(teacherUser.get("gh"))).toLowerCase(); user.setLoginpwd(md5_newpassword); user.setUserid(String.valueOf(teacherUser.get("gh"))); user.setUsername(String.valueOf(teacherUser.get("xm"))); //根据deptName,得到部门id if (ObjectUtil.isNotNull(teacherUser.get("bmh"))){ String bmh = teacherUser.get("bmh").toString(); HybDept hycDept = deptMapper.getDocByDeptId("0050" + bmh); String deptid = ""; if (ObjectUtil.isNotNull(hycDept)) { deptid = hycDept.getDeptid(); } user.setDeptid(deptid); //TODP POST填充 user.setPost(String.valueOf(teacherUser.get("bmh").toString())); }else { user.setDeptid(""); user.setPost(""); } user.setMobile(encrypDES.encrypt(String.valueOf(teacherUser.get("sj")))); user.setEmail(String.valueOf(teacherUser.get("email"))); //写死 user.setSort(99); user.setIsenabled("是"); user.setLocknum(0); user.setUserattr(2); user.setHeadpic(""); user.setCard("id"); user.setSex(String.valueOf(teacherUser.get("xb"))); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); if(teacherUser.get("csrq")!=null) { String date = String.valueOf(teacherUser.get("csrq")); Date parse = format.parse(date); user.setBirthday(parse); } //判断当前用户是否存在多个身份 // int sysUser = userMapper.checkLogin(String.valueOf(teacherUser.get("id")),null); //判断当前用户是否存在 HybUser hybUser = userMapper.getDocByUserId(String.valueOf(teacherUser.get("gh"))); //sysUseri ==0 而 sysUser!=0 用户名存在,但id不存在。则添加兼职 if (ObjectUtil.isNotNull(hybUser)) { //如果用户id存在,则修改该数据 //修改该用户数据 user.setId(hybUser.getId()); userMapper.updateUser(user); } else { userMapper.insertUser(user); } } 往里添加isdel=1
最新发布
07-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值