String创建对象的个数--西北狼

public class StringDemo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/*第一题:String str = new String("abc");创建了几个对象
		第二题: String s="a"+"b"+"c"+"d"创建了几个对象(假设之前串池是空的)
		第三题:StringBuilder sb = new StringBuilder();
		String a = "a";
		String b = "b";
		String c = "c";
		String d = "d";
		String s = a+b+c+d;  这句话创建了几个对象
		第四题:StringBuilder sb = new StringBuilder();
		sb.append("a").append("b").append("c").append("d");这句话创建了几个对象*/

		String str = new String("abc");
		String s = "a" + "b" + "c" + "d"; //创建了几个对象(假设之前串池是空的)
		StringBuilder sb = new StringBuilder();
		String a = "a";
		String b = "b";
		String c = "c";
		String d = "d";
		String s2 = a + b + c + d;
		StringBuilder sb2 = new StringBuilder();
		sb2.append("a").append("b").append("c").append("d");

		if(str instanceof Object){
			System.out.println("str是对象");
		}else{
			System.out.println("str不是对象");
		}
		System.out.println("-------------------------");
		if(s instanceof Object){
			System.out.println("s是对象");
		}else{
			System.out.println("s不是对象");
		}
		System.out.println("-------------------------");
		if(a instanceof Object){
			System.out.println("a是对象");
		}else{
			System.out.println("a不是对象");
		}

		if(sb instanceof Object){
			System.out.println("sb是对象");
		}else{
			System.out.println("sb不是对象");
		}

	}

}

  

时间: 2024-10-27 04:19:00

String创建对象的个数--西北狼的相关文章

求类中创建对象的个数

使用类的静态字段和构造函数,可以跟踪某个类所创建对象的个数.请写一个类,,在任何时候都可以向它查询"你已经创建了多少个对象"? 1.设计思想: 定义静态变量,定义构造函数,进行函数实现. 2.源代码 public class num { static int n=0; public static void main(String[] args) { num a=new num(); num b=new num(); num c=new num(); num d=new num(); S

跟踪某个类所创建对象的个数

package Demo01; public class demo01 { private static int n; public demo01() { n++;//次new一个对象的时候都可以给n加1 } public static int getNum() { return n;//返回n值 } public static void main(String[] args) { // TODO 自动生成的方法存根 demo01 t1=new demo01(); demo01 t2=new d

使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数。请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”。

设计思想 定义一个静态字段,在构造函数中写一个静态字段自家的语句,这样,因为静态字段不会因为在此调用而改变数值所以可以计算建立对象的个数. 源代码 //使用静态字段和构造函数跟踪对象 package bao; public class sum { public static int a=0; int c; public sum(int cc) { c=cc; a++; } public int get() { return a; } } package bao; public class D_X

java中String创建对象分析(转)

String str=new String("abc");   紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢? 相信大家对这道题并不陌生,答案也是众所周知的,2个. 接下来我们就从这道题展开,一起回顾一下与创建String对象相关的一些JAVA知识. 我们可以把上面这行代码分成String str.=."abc"和new String()四部分来看待.String str只是定义了一个名为str的String类型的变量,因此它并

使用类的静态字段和构造函数,可以跟踪某个类所创建对象的个数

package ke2; public class Genzong { private static int n = 0; public Genzong() { n++; } public static int GetNum() { return n; } public static void main(String[] args) { Genzong n1=new Genzong(); Genzong n2=new Genzong(); Genzong n3=new Genzong(); Ge

课后作业(1)使用类的静态字段和构造函数,跟踪某个类所创建对象的个数。

示例程序(一) //使用静态字段 1 public class Checkclassnumber { 2 static int num = 0; 3 { 4 num++; 5 } 6 public static void main(String[] args) 7 { 8 Checkclassnumber x1 = new Checkclassnumber(); 9 System.out.println("已创建" + num + "个对象"); 10 11 Che

Java中String直接复制和new String创建对象的区别以及equals和==的区别和效率对比

编程语言中的问题很多时候我们看似懂,实际不懂,因为很多时候看不到更多的情况,从而缺少对这些看不到的情况的认知和解释. 今天mark一下String和new String()的区别.其实很简单. String s1 = new String("string") // 这是一个对象,对象存放在堆里面 String s2 = "string" //这是一个字符串常量,存放在常量池中,也就是方法区里面 String s3 = "string" // ..

Java中string 创建对象时 “”和null的区别

null和""的区别 问题一: null和""的区别 String s=null; string.trim()就会抛出为空的exception String s=""; string.trim()就不会抛,为什么? 答: NULL代表声明了一个空对象,根本就不是一个字符串. ""代表声明了一个对象实例,这个对象实例的值是一个长度为0的空字符串. NULL代表声明了一个空对象,对空对象做任何操作都不行的,除了=和== "

深入理解final 类String 对象的创建以及内部方法

学习过程中的笔记 : int indexOf(int ch) :获取字符在字符串中第一次出现的位置,如果不存在,则返回-1 int indexOf(int ch,int fromIndex): 从fromIndex位置开始查找,查找ch第一次出现的位置 获取位置 int indexOf(int ch) :获取字符在字符串中第一次出现的位置,如果不存在,则返回-1 int indexOf(int ch,int fromIndex): 从fromIndex位置开始查找,查找ch第一次出现的位置 in