java string类型的初始化

以下基本上是java string类型最常用的三种方法 new string()就不介绍了  基本等同于第三种

String a;  申明一个string类型的 a,即没有在申请内存地址,更没有在内存任何指向引用地址;

String a = null ;   申明一个string类型的 a,同时在内存里申请了一个地址,但是该地址不指向任何引用地址;

String a = "" ;申明一个string类型的 a,既在内存里申请了地址,该地址又指向一个引用该字符串的引用地址;

一般来说 字符串的使用 最好用String a = "" ;语句,
可以防止后面的程序因引用地址混乱而找不到的异常!
String a = null ;   String a;  尽量少用!  能不用就不要使用!

时间: 2024-10-11 05:38:09

java string类型的初始化的相关文章

Java基本类型的初始化

在Coding时突然想起了声明与初始化的内存分配的一些问题,有些地方已经模糊了:查阅了一点资料: 关于基本类型的初始化问题,根据Thinking in Java中所表示: 类的成员变量是基本数据类型,即使没有进行初始化,Java也会确保它获得一个默认值 基本类型 默认值 boolean             false char '\0000'(null) byte (byte)0 short (short)0 int 0 long 0l double 0.0d float 0.0f 当变量做

java String类型 深入理解

本文摘自:http://www.cnblogs.com/ITtangtang/p/3976820.html 这作者写的非常好,少许地方有笔误,值得收藏 在讲解String之前,我们先了解一下Java的内存结构. 一.Java内存模型 按照官方的说法:Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配. JVM主要管理两种类型内存:堆和非堆,堆内存(Heap Memory)是在 Java 虚拟机启动时创建,非堆内存(Non-heap Memory)是在JVM堆之外的

Java String类型数据的字节长度

问题描述: 向Oracle数据库中一varchar2(64)类型字段中插入一条String类型数据,程序使用String.length()来进行数据的长度校验,如果数据是纯英文,没有问题,但是如果数据中包含中文,校验可以通过,但是在数据入库时经常会报数据超长. 问题分析: 既然问题是数据超长,那么问题应该就是出在数据长度校验上,也就是出在String.length()这个方法上,来看看JDK是如何描述这个方法的: [plain] view plain copy length public int

JAVA String类型和原型模式

如上例所述,变量a,b和它们的值10,20都是存在栈里面,声明的所以String类型的引用也都是存在栈里.而字符串abc是存在字符串常量池中,new出来的String对象则是存在堆里. String str="abc"; System.out.print(str==str1);//true 上面这行代码被执行的时候,JVM先到字符串池中查找,看是否已经存在值为"abc"的对象,如果存在,则不再创建新的对象,直接返回已存在对象的引用:如果不存在,则先创建这个对象,然后

java -------- String类型转换为数字类型

将 String类型转换为数字类型的时候要注意,数据类型的范围 整型: byte的取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1) short的取值范围为-32768~32767,占用2个字节(-2的15次方到2的15次方-1) int的取值范围为(-2147483648~2147483647),占用4个字节(-2的31次方到2的31次方-1) long的取值范围为(-9223372036854774808~9223372036854774807),占用8个字节(-2的6

Java String类型时间比较大小

晚上写了比较时间的函数,这里总结一下 package com.zz.bridge.impl; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; /** * 测试类 * Copyright 2015年6月9日 * created by txxs * all right reserved */ publi

java String 类型总结

java中String是个对象,是引用类型?,基础类型与引用类型的区别是,基础类型只表示简单的字符或数字,引用类型可以是任何复杂的数据结构,基本类型仅表示简单的数据类型,引用类型可以表示复杂的数据类型,还可以操作这种数据类型的行为.关于基本类型和引用类型的内存分配:    java虚拟机处理基础类型与引用类型的方式是不一样的,对于基本类型,java虚拟机会为其分配数据类型实际占用的内存空间,而对于引用类型变量,他仅仅是一个指向堆区中某个实例的指针. 原文地址:https://www.cnblog

java动手动脑和课后实验型问题String类型

1.请运行以下示例代码StringPool.java,查看其输出结果.如何解释这样的输出结果?从中你能总结出什么? true true false 总结: 使用new关键字创建字符串对象时, 每次申请新开辟一个地址空间,存储的地址空间不一样(对象不同),string类型下hello是同一个对象,其内容和地址都相容. 2. public class StringEquals { /** * @param args the command line arguments */ public stati

java内存分配和String类型的深度解析(转)

一.引题 在java语言的所有数据类型中,String类型是比较特殊的一种类型,同时也是面试的时候经常被问到的一个知识点,本文结合java内存分配深度分析 关于String的许多令人迷惑的问题.下面是本文将要涉及到的一些问题,如果读者对这些问题都了如指掌,则可忽略此文. 1.java内存具体指哪块内存?这块内存区域为什么要进行划分?是如何划分的?划分之后每块区域的作用是什么?如何设置各个区域的大小? 2.String类型在执行连接操作时,效率为什么会比StringBuffer或者StringBu