美文网首页
Java 字符串_1

Java 字符串_1

作者: windytouch | 来源:发表于2018-12-19 22:20 被阅读0次

数字与字符串相转换

平时开发的时候经常会遇到需要将字符串转成数字或者数字转换成字符串的情况,这个知识点比较简单,所以大概的记录一下。

数字转字符串

数字转字符串主要有两个方法,直接调用valueof以及包装后调用toString的方法。

         //调用valueOf这个方法,接收一个数字类型作为参数
        //返回一个str。
        int i = 5;
        String str = String.valueOf(i);
        System.out.println(str);
        
        //这种方式先进行了装箱,再调用toString的方法
        //返回一个str对象。
        Integer it = i;
        String str2 = it.toString();
        System.out.println(str2);

字符串转数字

字符串转数字使用的是基本类类型的parseInt方法,查看源码可以,这个方法接收一个String对象,返回对象所表示的数字。

        //调用类类型的parseInt方法转换成数字
        String str3 = "123";
        int ans = Integer.parseInt(str3);
        System.out.println(ans);

valueOf和parseInt的区别

在字符串转数字中,valueOf与parseInt都是接收一个String对象,转成相应的数字,那这两个方法有什么区别呢?
查看源码:

public static Integer valueOf(String s) throws NumberFormatException {
        return Integer.valueOf(parseInt(s, 10));
    }
public static int parseInt(String s) throws NumberFormatException {
        return parseInt(s,10);
    }

从源码角度比较分析,可以发现这两个方法虽然都会得到int数据,但是过程是不一样的,valueOf返回的是一个Integer对象,在最后的赋值中会发生自动拆箱的操作。而parseInt则直接返回int数值,无需拆箱。所以一般在字符串转数字中,尽量使用parseInt。

字符串的一些问题

字符串是最频繁的交互方式,对于它的一些问题也需要搞清楚。

字符串是否相同?

字符串相同有两种理解,第一个是字符串字面值相同,第二是为同一个对象。

        String str4 = "hello";
        String str5 = new String("hello");
        String str6 = "hello";

对于上面三个字符串而言,使用字面值方式定义的字符串,被放在字符串常量池中,后续的任何创建,都会先在池中检索是否已经存在该字面值对象,如果存在,则直接返回已有的字面值引用。所以str4和str6是相等的。
而str5使用了创建对象的方式,这种方式会首先在常量池中查找是否有这个字符串,存在,则直接返回字符串的引用。之后又有new,则会在上创建对象,并赋给str6引用。因此,会出现一行代码创建了两个对象。
常量池里是对象还是对象的引用?答案是对象的引用。记住,Java的对象都创建在堆上

String、StringBuilder、StringBuffer

内容较多,这一部分放在了这个博客

相关文章

  • Java基础知识点(八)

    一、认识 Java 中的字符串 1、什么是 Java 中的字符串 在 Java 中,字符串被作为 String 类...

  • Java知识之字符串

    Java字符串知识框架图 Java字符串 ** 1. 不可变字符串(String) **** 2. 可变字符串(S...

  • JAVA String类

    1.String 字符串 字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 S...

  • 认识Java中的字符串

    学习了解# 什么时Java的字符串 Java字符串的不变性 Java中Stirng类的常用方法1 Java中Str...

  • Java自学-数字与字符串 字符串

    Java中的字符串String 示例 1 : 创建字符串 字符串即字符的组合,在Java中,字符串是一个类,所以我...

  • Java--String、StringBuffer 、Strin

    [1] String类 在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。 [...

  • Java基础:String类

    相关阅读 Java基础:String类 Java字符串格式化 Java基础:正则表达式 1. 概述 字符串是由多个...

  • 判断一个字符串是否包含某个字符串

    如判断字符串str1是否包含字符串str2 java 在java中使用str1.contains(str2) ja...

  • 持续精进_java语言2

    1 String字符串 在Java 9之前,字符串是使用 char 数组来存数据的,这样非常直接。(java开始改...

  • 2018-11-21

    .1. 概念 .在Java编程中广泛使用的字符串是一系列字符。在Java编程语言中,字符串被视为对象。Java平台...

网友评论

      本文标题:Java 字符串_1

      本文链接:https://www.haomeiwen.com/subject/ermskqtx.html