Java常见类型转换

Java入门第13课——类型转换常见问题汇总 问题 在我们数据类型转换的过程中,会遇到一些问题,在此将这些问题进行汇总,使今后使用的过程中,不出错。即使出错也可以很快的找到问题所在。 方案 数据类型转换在使用的过程中,常见的问题有以下几点: 1)强制转换时的精度丧失和溢出。 2)数值运算时的自动转换。 3)byte、char、short转换为int的问... 阅读详情

java常见的类型转换

1.基本数据类型与字符串之间的互转

1.1基本类型转换成String(以int为例)
eg:int类型转换成String类型.
1.int类型+"";
2.Integer.toString(int num)
    //基本类型的封装类调用toString()方法,传入的参数为int类型.
3.static String valueOf(int i) --- 返回 int 参数的字符串表示形式。
    //通过String类中的valueOf(任意类型)方法,将任意类型参数转换成String类型的字符串.
    String s = String.valueOf(3);
    System.out.println(s);
1.2String转换成基本类型(以int为例)
//方法一:
static int  parseInt(String s) --- 将字符串参数作为有符号的十进制整数进行解析。
    String s = "1232123"; 
    int parseInt = Integer.parseInt(s);
    System.out.println(parseInt);

//方法二       
static Integer  valueOf(int i) --- 返回一个表示指定的 int 值的 Integer 实例。
    int intValue() --- 以 int 类型返回该 Integer 的值。
    int intValue = Integer.valueOf(s).intValue();
    System.out.println(intValue);

2.数组与字符串之间的互转

2.2数组转换成String(代码实现在下边几行)
1,Arrays工具类中的toString(参数:数组)方法.
2,遍历数组添加到创建的StringBuffer中,再直接打印成字符串.
2.2String转换成数组(代码实现在下边几行)
1,String中的toCharArray()方法;
2,String中的charAt()方法,再通过遍历添加到创建的字符数组中.
import java.util.Arrays;

public class Change {
    public static void main(String[] args) {
        //数组--->字符串.
        char[] chArr = {'1','2','a','3','b'};

        //方法一
        //通过调用Arrays工具类中的toString(参数:数组)方法.
        //Arrays工具类的toString(参数:数组)源代码
        //底层是通过创建StringBuider类来实现的,为了区分是数组类变成String类,所以两边添加了[].
        String s1 = Arrays.toString(chArr);
        System.out.println(s1);
        //System.out.println(chArr.toString());//不能直接调用toString方法,因为没有重写打印出来的是地址值.

        //方法二
        //先用String类中charAt()方法获取每个索引位置字符子串,再通过遍历挨个添加到创建的StringBuffer中.源码底层是StringBuild实现的,是线程不安全的.
        StringBuffer sb = new StringBuffer();
        for (char c : chArr) {
            sb.append(c);
        }
        //StringBuffer的toString方法已经重写了,所以直接可以打印即为字符串.
        System.out.println(sb);
        //System.out.println(sb.toString());//效果一样的.
        //System.out.println(sb+"");//这也是其他类转换成字符串类的一种方式.

        //Arrays工具类toString实现的源码.
        //      public static String toString(char[] a) {
        //          if (a == null)
        //              return "null";
        //          int iMax = a.length - 1;
        //          if (iMax == -1)
        //              return "[]";
        //
        //          StringBuilder b = new StringBuilder();
        //          b.append('[');
        //          for (int i = 0; ; i++) {
        //              b.append(a[i]);
        //              if (i == iMax)
        //                  return b.append(']').toString();
        //              b.append(", ");
        //          }
        //      }
    }
}
2.3String和byte之间的特殊转换
String转换成Byte[]数组
String s = "abc";
byte[] b = s.getBytes();

for (int i = 0; i < b.length; i++) {
    System.out.println(b[i]);//97//98//99
}

Byte[]数组转换成字符串,用字符串的构造方法.
byte[] b1 = {97,98,99};
String s1 = new String(b1);
System.out.println(s1);//abc

3.集合与数组之间的互转

3.1集合转换成数组
1,Object[]  toArray() ---返回包含此 collection 中所有元素的数组。
通过集合实现类的对象调用toArray()方法,返回一个Object类型的数组.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class CollectionDemo {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("a");
        list.add("c");
        list.add("z");
        list.add("a");
        list.add("w");

        Object[] arr = list.toArray();
        System.out.println(Arrays.toString(arr));//用数组工具类中的toString方法获取字符串

        for (int i = 0; i < arr.length; i++) {//也可以通过遍历得到元素
            System.out.println(arr[i]);
        }
2,<T> T[] ---toArray(T[] a) 返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同。

        //定义好集合要转换的数组类型,通过传入新创建的数组类型,这里定义数组长度为0.
        String[] array = list.toArray(new String[0]);//list.size()
        //这里边涉及到两个长度问题//1,集合的长度//2,设定的数组的长度//两个长度比一比,谁长听谁的,不足null补齐.
        //如何理解呢?就是集合转成数组,数组可以提前定义好长度,或者集合默认长度list.size();
        //转换的时候,哪个长度长就以哪个为准.而元素未添加满的,用null补齐.
        for (String string : array) {
            System.out.println(string);
        }
3.2数组转换成集合
1,static<T> List<T> asList(T... a) 返回一个受指定数组支持的固定大小的列表。
通过数组工具类中的asList()方法

//导包
public class CollectionDemo {
    public static void main(String[] args) {
        //首先这样的做法是错误的,因为数组可以存储基本数据类型和引用数据类型,而集合只能存储引用数据类型,
        //这里虽然不报错,是因为把int[](int类型的数组)当成了泛型进行存储.
        int[] arr1 = { 11, 22, 33 };
        List<int[]> as1 = Arrays.asList(arr1);
        System.out.println(as1.size());//1//存储的是一个数组,所以长度只有1
        System.out.println(as1);//[[I@7852e922]

        System.out.println("--------------------------");

        //Arrays的asList()方法,返回一个受指定数组支持的固定大小的列表。
        //因为数组和集合最大的区别就是集合的长度是不固定的,把固定类型的数组转换成集合,那么使集合的长度也"变得"固定了,因此无法使用集合中的set(增)和remove(删)方法.因为转换后的集合长度被数组固定住了.
        Integer[] arr2 = { 11, 22, 33 };
        List<Integer> as2 = Arrays.asList(arr2);
        System.out.println(as2);//[11, 22, 33]
        //迭代过程正常
        Iterator<Integer> it2 = as2.iterator();
        while (it2.hasNext()) {
            System.out.println(it2.next());
        }
        //要想把上边转换而来固定长度的集合进行增删,可以通过再创建(复制)成新的集合进行增删操作.
        ArrayList<Integer> list2 = new ArrayList<>(as2);
        list2.add(100);
        System.out.println(list2);//[11, 22, 33, 100]

        System.out.println("--------------------------");

        //String本身是引用数据类型,可以当做集合的元素进行存储.
        String[] s = { "a", "b", "c" };
        List<String> ass = Arrays.asList(s);
        System.out.println(ass);//[a, b, c]

        System.out.println("--------------------------");

        //static <T> List<T>   asList(T... a) //这里的(T... a)是1.5新特性,是可变参数 
        List<String> str = Arrays.asList("a","b","c");//传入可变参数
        System.out.println(str);//[a, b, c]
    }
}
2,通过遍历数据添加到创建的集合中.

4.其他各种转换总结(开发中经常用到的转换方法)

4.1任意类型转成字符串类型
1,任意类型 + ""
2,引用数据类型toString()方法
3,String.valueOf(参数);参数传递任意类型,返回值是String
4.2字符串转成字节数组:
String s = "abc";
byte[] bytes = s.getBytes();//在IO流的时候用到--- 字节流往外写一个字符串的时候
4.3字节数组转字符串:
byte [] bys = {97,98,99};
String s = new String(bys);
System.out.println(s);
4.4字符串转成字符数组:
String s = "abc";
char[] ch = s.toCharArray();//返回值ch是每一个字符组成的数组 [a,b,c]
得到字符串的每一个字符还可以通过charAt()方法遍历得到
4.5字符串转成基本数据类型://以int类型为例
String s = "123";
int ps = Integer.parseInt(s);
4.6字符串转成StringBuffer:
1,构造函数
    String s = "abc";
    StringBuffer sb = new StringBuffer(s);//在要用到StringBuffer里面的方法的时候使用,比如反转,比如添加
2,通过append()方法
    String s = "abc";
    StringBuffer sb = new StringBuffer();
    sb.append(s);
4.7StringBuffer转成字符串:
1,任意类型 + ""
2,引用数据类型toString()方法
3,String.valueOf(参数);参数传递任意类型,返回值是String
4,构造        
    StringBuffer sb = new StringBuffer("abc");
    String s = new String(sb);//s就是转换后的结果
5,subString
    StringBuffer sb = new StringBuffer("abc");
    String s = sb.subString(0,sb.length());//s就是转换后的结果
4.8基本数据类型与其包装类之间的手动转换:
int ---> Integer(手动装箱)
    int i = 10;
    Integer ii = new Integer(i);//其中ii就是手动包装后的引用数据类型对象

Integer ---> int(手动拆箱)
    Integer i = new Integer(10);
    int iv = i.intValue();//iv就是由Integer转换成int得到的值
4.9毫秒值转成日期对象
1,先有一个毫秒值Long类型的d
2,转换
    Date date = new Date(d);
    或者
    Date date = new Date();
    date.setTime(d);
//两种方法中的date就是将毫秒值转换成的日期对象
4.10日期对象转换成毫秒值
1,先有一个 Date 类型的时间对象
2,直接通过getTime的方法获取毫秒值
4.11将日期对象转换成字符串
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String s = sdf.format(new Date());//传递时间对象,返回格式化后的字符串
4.12将字符串转换成字符串日期对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date d = sdf.parse("2000年10月10日 10:10:10");//传递时间对象,返回格式化后的字符串
目标检测数据集 第069期-基于yolo标注格式的玻璃清洁状态检测数据集(含免费分享) 但这类技术的落地,离不开大量标注规范、场景丰富的数据集作为算法训练的支撑,玻璃清洁状态检测数据集的出现,正是为了满足这一市场与技术需求。在高校与科研机构的计算机视觉研究中,该数据集可作为基础研究素材,用于探索物体状态识别的算法优化方向,比如针对玻璃这类透明物体的检测算法改进,或是小样本场景下的状态识别研究。通过摄像头采集车窗、挡风玻璃的图像,算法自动检测玻璃清洁度,若识别到脏污影响视线,及时提醒运维人员清洁,避免因玻璃脏污引发的安全事故,提升交通出行的安全性。 阅读详情

相关推荐

HFSS - 双频微带天线设计与仿真

一、设计指标 中心频率:1.9GHz、2.45GHz 匹配情况:中心频率处S11S_{11}S11​参数小于-20dB 介质板厚度:1.6mm 介质板介电常数:3.8 馈电方式:50Ω\OmegaΩ同轴线馈电 二、双频微带天线 获得双频工作的一种最简单的方法是辐射贴片的长度对应-一个频率谐振,其宽度对应另一个频率谐振,然后从对角线的一角馈电,就能使同一个辐射贴片工作于两个频率上。其结构如下图所示。 从图中可以得知,x轴上的A点(x,0)为激发TM10_{10}10​模式的50Ω\OmegaΩ馈电点,由

MaxWei 1万+

java中参数类型的转换

在学习Java的过程中,很容易就遇到一些参数的类型转换,经常见到的是整型转字符串类型,或者字符串类型转整型;在最近的项目中用到上传下载,就涉及到这个问题。 这里的id和hour类型为整型,sheet函数返回的类型为字符串类型,String转为int。修改成如下: 还有int转为String: ...

weixin_43176121的博客 721

爆改YOLOv8 | PSA注意力机制融合入YOLOv8

yolov8,PSA注意力,即插即用

weixin_43986124的博客 2498

【JAVA】Java中的类型转换

Java作为一个强类型的编程语言,当不同类型之间的变量相互赋值的时候,会有较严格的校验。在Java中,当参与运算不一致时,就会进行类型转换。和。Java数据类型的数据范围:补充:计算机存储数据都是二进制的01整型,float和double不是按照二进制计算的,而是按照科学计数法来模拟存储数据的。注意:只有有关系的类型之间才能转换,毫无关系的类型不能转换booleanint毫无关系,不能发送互相转换自动类型转换:代码不需要经过任何处理,在代码编译时,编译器会自动进行处理。

m0_57248752的博客 3851

别再只调电压了!深入理解数控电源的CC/CV模式与双闭环PID控制(以BUCK电路为例)

本文深入解析数控电源的CC/CV模式与双闭环PID控制技术,以BUCK电路为例,探讨如何通过双闭环控制优化负载突变响应和模式切换稳定性。文章详细介绍了电压环与电流环的协同工作原理、PID参数整定技巧及工程实践中的非线性补偿方法,帮助工程师提升电源设计的智能控制能力。

weixin_27017211的博客 265

滞回比较器电路详细分析

滞回比较器是一种用于检测两个不同电压值并使比较器输出高电平或低电平的电路。滞回比较器的特点是具有迟滞特性,即当输入电压高于某一阈值时,比较器输出高电平,当输入电压低于另一阈值时,比较器输出低电平,而在这两个阈值之间,比较器的输出保持不变。比较器通常有两个模拟电压输入端UIN+和UIN-以及一个数字状态输出端UOUT。当UIN+大于UIN-时,UOUT为高电平;当UIN+小于UIN-时,UOUT为低电平。根据具体的系统定义,这两种电位的具体数值可以有所不同。

LuDvei的博客 2万+

【Java 基础篇】Java 类型转换

类型转换在Java编程中是一项重要的操作,它允许我们在不同的数据类型之间进行转换。本篇博客详细介绍了Java中的类型转换,包括隐式类型转换和显式类型转换。隐式类型转换是自动进行的,而显式类型转换需要使用强制转换运算符来明确指定转换的目标类型。在进行类型转换时,我们需要注意数据溢出、精度丢失以及引用类型转换的安全性。希望本篇博客对你理解和应用Java的类型转换有所帮助。通过合理和准确地使用类型转换,可以提高程序的灵活性和功能性。

繁依Fanyi的博客 6923

PCAN-Explorer5使用教程

在PCAN中新建工程,导入DBC文件(右键apply),导入采集的数据选择对应的CAN通道点击红框中的标记可选择想要查看的信号在plot界面跳出属性,可调整信号显示的样式和最大最小值调出cursor,选择需要观测的变量,选中右键style——Period 可显示间隔时间增加cursor,可观测多个变量。

weixin_43997043的博客 6914

Java中各种类型的转化

​ 一.Integer和int之间的类型转化 1.自动装箱 Integer integer=2; int a=integer; integer=a; 2.构造器方法 Integer integer = new Integer(1); 3.Integer.valueOf(int i) Integer integer = Integer.valueOf(10); 二.Integer和String之间的类型转换 1.String转换为Integer 1.Inte

qq_64580912的博客 8069

YOLO训练/写作脚本目录一览 | 涉及标签格式转换、数据扩充、热力图、感受野、精度曲线、数量统计等近百个脚本文件

在大家购买专栏后,便可获得全部的脚本文件。在获取到文件后,只需按照将程序放在个人项目中即可一键运行。

Limiiiing的博客 2377

基于LSTM的股票价格预测系统,Django框架,Web的股票预测系统,训练+数据集+源码(无需安装环境版)

股票价格预测是投资领域的一个重点关注课题。由于股票价格受到诸多非线性因素的影响,得到精确的预测结果较为困难。使用 PyCharm 作为代码开发工具,通过下载好的股票金融数据,进行数据预处理,构建 LSTM 网络模型,训练模型并训练出最优模型,输出股票未来收盘价波动的走势,最后在训练好的模型上,设计股票模型应用系统,运行效率较高,对股票预测具有一定的积极意义。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 956

Java Stream 常用数组类型转换用法

业务目前经常会使用的stream流来处理数据,特别是对数组的类型进行转换,下面我分类总结常用的转换用法。

studyday1的博客 7980

【OpenClaw从入门到精通】:Web控制台使用全解析——可视化配置与监控(2026实操版)

在OpenClaw的多种管理方式中,Web控制台提供了最直观、最友好的用户体验。通过图形化界面,用户可以轻松完成复杂的配置任务,实时监控系统状态,以及进行各种管理操作。对于不熟悉命令行的用户来说,Web控制台是最佳选择。

一键难忘的博客 1931

Java中常见的类型转换

Java中常见的类型转换:1.Java enum枚举与int类型互转:假设枚举类型声明如下:/** * 状态枚举 */ enum StateType{ Idle, //站立状态 Fight, //进攻状态 Dead, //死亡状态 } enum->int: ordinal()方法:返回枚举值在枚举中的顺序int state = StateType.Idle.ord

linshuhe1的专栏 1044

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

JAVA强制类型转换常见错误

这篇文章主要讲解:JAVA强制类型转换经常遇到的问题,主要分为2种情况。 1、当两个类没有继承关系时: package Test; public class Test { public static void main(String []args) { C c = new C(); B b = (B) c; } } class B extends A { public voi

郭嘉梁的博客 8987

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

java类型转换 及 【常见问题】

Java 数据类型转换尤为重要,不可忽视

weixin_73608342的博客 312

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

java中常见类型转换

1.String类型转换为Long 2.字符串转List<Long> 3.Map<String,Object>转字符串 使用的是com.google.gson.Gson;

小草的博客 294

java中常见的类型转换问题,java中常见类型的转换

如何将字串 String 转换成整数 int?int i = Integer.valueOf(my_str).intValue();int i=Integer.parseInt(str);如何将字串 String 转换成Integer ?Integer integer=Integer.valueOf(str);如何将整数 int 转换成字串 String ?1.) String s = Strin...

weixin_31143059的博客 194

JAVA中常见的类型转换

八大基本数据类型:(整数类)int ,short,byte,long(浮点类)double,float(字符类)char(布尔型)boolean其对应的包装类型:Integer,Short,Byte,Long,Double,Float,Character,BooleanString类类类型。

m0_70955866的博客 712

编程自学指南:java程序设计开发,Java 类型转换异常,常见的类型转换异常,识别和调试类型转换异常,避免类型转换异常的有效方法

编程自学指南:java程序设计开发,Java 类型转换异常,常见的类型转换异常,识别和调试类型转换异常,避免类型转换异常的有效方法

zl515035644的博客 833

JAVA的常见类型转换

java将int类型的变量转化成String类型的 第一种方法:String的valueOf方法, int i=5; String s=String.valueOf(i); 第二种方法,直接在int后面加一个空的字符串,因为在java里面,默认任务int类型和字符串类型相加,为字符串类型。 int i=6; String s=i+""; 3 第三种:使用int的封装类Integer,在Integ...

deansensitive的博客 314

小总结:Java中常见的类型转换

目录 一、int —> String 二、String —> int 三、char[] —> String 四、String —>char[] 五、String—> Char 六、Char—> String 七、int—>Char 八、Char—>int 一、int —> String int i=12345; String s=""; 第一种方法:s = i+""; //会产生两个对象 第二种方法:s = Strin.

weixin_62190821的博客 195

java的常见类型转换

//Int型数字转换成String int num1=123456; //方法1 String str1=num1+""; System.out.println(str1); //方法2 String str2=String.valueOf(num1);...

霓虹深处 9466

【转载】java的常见类型转换

//Int型数字转换成String int num1=123456; //方法1 String str1=num1+""; System.out.println(str1); //方法2 String str2=String.valueOf(num1); ...

weixin_30783629的博客 135

java text类型转换_【转载】java的常见类型转换

//Int型数字转换成Stringint num1=123456;//方法1String str1=num1+"";System.out.println(str1);//方法2String str2=String.valueOf(num1);System.out.println(str2);//String转换成Int型数字String str3=new String("9876543");int...

weixin_36269141的博客 1699

Java中常见的类型转换问题

Java中常见的类型转换问题 将XXX类型转换为String类型: 方法一: String intToStr = Integer.toString(demoInt); String longToStr = Long.toString(demoLong); String shortToStr = Short.toString(demoShort); String floatToStr = Float.toString(demoFloat);

Coder_kiwi的博客 393
上一篇: 数组排序,Arrays数组工具类专题(Arrays工具类)
下一篇: 关于Mac安装MySQL和MySQLWorkbench的初始密码,环境配置问题总结
Google_Coder
博客等级 码龄10年 8粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值