1. 首先String不属于8种基本数据类型,String是一个对象. 因为对象的默认值是null,所以String的默认值也是null:但它又是一种特殊的对象,有其它对象没有的一些特性. 2. new String()和new String(“”)都是申明一个新的空字符串,是空串不是null: 3. String str=”kvill”: String str=new String (“kvill”);的区别: 在这里,我们不谈堆,也不谈栈,只先简单引入常量池这个简单的概念. 常量池(cons…
1:Scanner的使用(了解)    (1)在JDK5以后出现的用于键盘录入数据的类. (2)构造方法: A:讲解了System.in这个东西.            它其实是标准的输入流,对应于键盘录入        B:构造方法            InputStream is = System.in; Scanner(InputStream is)        C:常用的格式            Scanner sc = new Scanner(System.in);    (3)…
长久以来,我们被教导字符串的连接最好用StringBuffer.StringBuilder,但是我们却不知道这两者之间的区别.跟字符串相关的一些方法中总是有CharSequence.StringBuffer.StringBuilder.String,他们之间到底有什么联系呢? 1.从类的定义看CharSequence.StringBuffer.StringBuilder.String的关系 下面先贴上这四者的定义(来自JDK1.6) CharSequence是一个定义字符串操作的接口,Strin…
StringBuilder.StringBuffer.String类之间的关系 java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,在上一篇博文中我们已经熟悉String字符串的特性和使用,而StringBuffer.StringBuilder又是怎么样的字符串类呢??他们之间的区别和关系又是什么呢??这问题经常在面试中会问到,现在总结一下,看看他们的不同与相同. 1.可变与不可变 1)String类中使用字符数组保存字符串,如下就是,因为有"…
先来看段代码 public class IntegerDemo { public static void main(String[] args) { String num = null; System.out.println( Integer.parseInt(num));// Exception java.lang.NumberFormatException System.out.println( Integer.valueOf(num));// Exception java.lang.Num…
这是java程序的入口地址,java虚拟机运行程序的时候首先找的就是main方法.跟C语言里面的main()函数的作用是一样的.只有有main()方法的java程序才能够被java虚拟机欲行,可理解为规定的格式. 对于里面的参数及修饰符 public:表示的这个程序的访问权限,表示的是任何的场合可以被引用,这样java虚拟机就可以找到main()方法,从而来运行javac程序static:表明方法是静态的,不依赖类的对象的,是属于类的,在类加载的时候main()方法也随着加载到内存中去void:…
一.包装类的分类: 1.黄色部分的父类为Number 继承关系: Boolean Character 其他六个基本数据类型 2.装箱和拆箱 理解:一个例子,其他的都相同 装箱:Integer integer=New.valueof(1)     :将值封装成一个Integer类 拆箱:int i = Integer.intValue(); 面试题: 在底层中 Integer i = 127: Integer i = 128: 两个的生成方法不同,首先从-128-->127都是在调用类时自动生成的…
在网上找了好久,都没搞出来,借鉴别人的代码,依葫芦画瓢,写了个自己用的解析类.注意节点属性和子节点的区别就好了,这个包的方法还挺好用的 package com.allinpay.utils; import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator; import java.util.List;import java.util.Map;import org.dom4j.Document; impor…
本文转自:http://www.cnblogs.com/sophine/p/3531282.html 执行顺序:(优先级从高到低)静态代码块>main方法>构造代码块>构造方法. 其中静态代码块只执行一次.构造代码块在每次创建对象时都会执行. 1.普通代码块 //普通代码块:在方法或语句中出现的{}就称为普通代码块.普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定--“先出现先执行” public class CodeBlock01{ public static void ma…
单引号引的数据 是char类型的——>单引号只能引一个字符(表示单个字符)双引号引的数据 是String类型的——>而双引号可以引0个及其以上(引用字符串) char类型的值用单引号引起来的单个字符如: char a = 'b' 而java中的双引号 表示字符串 一个或多个字符 如 String c = "abc" String d="a" 和char d=‘a’…
Java中弱引用VS软引用 Java中有如下四种类型的引用: 强引用(Strong Reference) 弱引用(WeakReference) 软引用(SoftReference) 虚引用(PhantomReference) 强引用是我们在编程过程中使用的最简单的引用,如代码String s=”abc”中变量s就是字符串对象”abc”的一个强引用.任何被强引用指向的对象都不能被垃圾回收器回收,这些对象都是在程序中需要的.弱引用使用java.lang.ref.WeakReference class…
编程语言中的问题很多时候我们看似懂,实际不懂,因为很多时候看不到更多的情况,从而缺少对这些看不到的情况的认知和解释. 今天mark一下String和new String()的区别.其实很简单. String s1 = new String("string") // 这是一个对象,对象存放在堆里面 String s2 = "string" //这是一个字符串常量,存放在常量池中,也就是方法区里面 String s3 = "string" // ..…
今天在CSDN的高校俱乐部里看到了"Java基础水平測试(英文)".感觉自己学了java这么久,想看下自己的java水平究竟是个什么样.測试结果就不说了,反正是慘不忍睹. 看了一下结果分析,关于StringBuilder.StringBuffer.String类的三道题所有答错.所以就查阅了一些资料记录一下. String的值是不可变的,这就导致每次对String的操作都会生成新的String对象.不仅效率低下,并且大量浪费有限的内存空间,StringBuffer是可变类.和线程安全的…
参数String[] args 的作用是在运行main方法时,在控制台输入参数 class Test{ public static void main(String[] args){ for(String a:args){ System.out.println(a); } } } javac Test.java java Test 1 2 3 >>>1 >>>2 >>>3 String[] args 是被系统识别主方法,如果我们不这样做,系统就找不到主…
1.数组转List String[] arr = new String[]{"A", "B", "C"}; List list = Arrays.asList(arr); //返回固定大小,不能做add和remove等操作 2.数组转Set String[] arr= new String[]{"A", "B", "C"}; Set<String> set= new Hash…
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); Date date = sdf.parse("2016-10-20 11:27:08"); System.out.println(date); 好消息, 程序员专用早餐机.和掌柜说 ideaam,可以节省20元. 点击链接  或復·制这段描述¥k3MbbVKccMU¥后到淘♂寳♀ 或者 淘宝扫码 支持下同行哈 -----------…
在Java代码中,常常会使用到这样的类的声明实例化: Person per = new Person(); //这其实是包含了两个步骤,声明和实例化 Person per = null; //声明一个名为Person类的对象per per = new Person(); // 实例化这个per对象 声明 指的是创建类的对象的过程: 实例化 指的是用关键词new来开辟内存空间. 它们在内存中的划分是这样的: 那什么是栈内存(heap)和栈内存(heap)呢? 栈内存: 在函数中定义的一些基本类型的…
从java的设计来看,通过继承Thread或者实现Runnable接口来创建线程本质上没有区别,从jdk帮助文档我们可以看到Thread类本身就实现了Runnable接口,如果一定要说它们有什么区别,总结几点:     用实现Runnable接口的特点 1.用实现Runnable接口的方法创建对象可以避免java单继承机制带来的局限: 2.用实现Runnable接口的方法,可以实现多个线程共享同一段代码(数据): 因此建议大家如果你的程序有同步逻辑需求,则使用Runnable的方法来创建线程.…
1.parse()是SimpleDateFomat里面的方法,你说的应该是parseInt()或parsefloat()这种方法吧, 顾名思义 比如说parseInt()就是把String类型转化为int类型. 如 String a= "123"; int b = Integer.parseInt(a); 这样b就等于123了. 2.ValueOf()方法比如说 Integer.valueOf() 是把String类型转化为Integer类型(注意:是Integer类型,而不是int类…
1.parseInt()就是把String类型转化为int类型. 如 String a= "123"; int b = Integer.parseInt(a); 这样b就等于123了. 2.ValueOf()方法比如说 Integer.valueOf()是把String类型转化为Integer类型(注意:是Integer类型,而不是int类型,int类型是表示数字的简单类型,Integer类型是一个引用的复杂类型) 如: String a= "123"; Integ…
成员变量:包括实例变量和类变量,用static修饰的是类变量,不用static修饰的是实例变量,所有类的成员变量可以通过this来引用. 类变量:静态域,静态字段,或叫静态变量,它属于该类所有实例共有的属性.而且所有的实例都可以修改这个类变量的值(这个类变量没有被final修饰的情况),而且访问类变量的时候不用实例,直接用类名.的方式就可以. 成员方法:包括实例方法和类方法,用static的方法就是类方法,不用static修饰的就是实例方法.实例方法必须在创建实例之后才可以调用. 类方法:和类变…
区别一 在方法名末尾有s的是返回一个数组,没有s的是返回单个构造器. 区别二 在方法名中加Declared的是返回所有的构造方法,不加Declared的只返回public访问权限的构造器 区别三 有参数的都是在方法名中没有在结尾处加s的,返回的是指定参数类型的构造器 总结:反射机制中,所有添加Declared的获取方式都是暴力获取所有构造(或方法,或字段),通过暴力获取的字段我们在进行访问的时候需要进行可访问性设置,即 获取的反射对象.setAccessible(true);否则只是获取而无法操…
Java中,是否可以继承String类?为什么? 答案: 不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变. public final class String implements java.io.Serializable, Comparable<String>, CharSequence 1 1 详细解析: 1. 关于final修饰符 参考文章: 浅析Java中的final关键字 根据程序上下文环境,Java关键字final有"…
字符串广泛应用在Java编程中,在Java中字符串属于对象,String 类提供了许多用来处理字符串的方法,例如,获取字符串长度.对字符串进行截取.将字符串转换为大写或小写.字符串分割等. String 类的常用方法: 注意事项: 1. 字符串 str 中字符的索引从0开始,范围为 0 到 str.length()-1 2. 使用 indexOf 进行字符或字符串查找时,如果匹配返回位置索引:如果没有匹配结果,返回 -1 3. 使用 substring(beginIndex , endIndex…
在任何编程语言中,字符串都是我们编写程序时不可避免要用到的常用的数据类型之一. 对于Java初学者而言,当谈到String和StringBuffer的区别时,通常都会有些困惑. 而要弄清楚两者之间的区别,正确地理解String类是最为关键的. 1. java.lang.String is immutable 在Java中string是一个对象,String类位于java.lang包中,在Java中String对象中的每一个字符(character)都是16bit的Unicode字符. 创建一个S…
String在Java中是字符串常量 例如 String str = "abc"; str = str + 1; System.out.println(str); 结果将是abc1 在Java中String是一个字符串常量,str+1执行时Java创建一个新的String对象,将拼合后的字符串内容复制一次到新的String对象中,旧的String对象被标记为GC回收机制的待处理对象 而StringBuffer和StringBuilder在一个对象上进行操作,不会产生对象回收的问题 执行…
转自:http://www.diybl.com/course/3_program/java/javajs/2007104/75886.html       字符串可能是任何程序语言中都会出现的对象,java中创建并初始化一个String对象,最常见的方式有两种: String str=new String("XXX"); String str="XXX"; 二者看似相同,其实有很大的差别.       前者是java中标准的对象创建方式,其创建的对象将直接放置到堆中…
首先来看一下C/C++中怎么创建Java对象:在JNIEnv中有两种方法是用来创建Java对象的: 第一种方法: jobject  NewObject(jclass clazz  , jmethodID methodID, ....): 参数解释: clazz:这个很简单,就是需要创建的Java对象的Class对象 methodID:这个是传递一个方法的ID,想一想Java对象在创建的时候,需要执行什么方法呢?对,没错那就是构造方法 第三个参数:是构造函数需要传入的参数值(默认的构造方法是不需要…
转自:https://www.imooc.com/code/2202 仅做个人学习记录之用,侵删! 什么是 Java 中的字符串 在 Java 中,字符串被作为 String 类型的对象处理. String 类位于 java.lang 包中.默认情况下,该包被自动导入所有的程序. 创建 String 对象的方法: Java 中字符串的不变性 String 对象创建后则不能被修改,是不可变的,所谓的修改其实是创建了新的对象,所指向的内存空间不同.如下所示: 运行结果: 结合上面的代码,关于字符串小…
本文主要说明Java中继承与组合的概念,以及它们之间的联系与区别.首先文章会给出一小段代码示例,用于展示到底什么是继承.然后演示如何通过“组合”来改进这种继承的设计机制.最后总结这两者的应用场景,即到底应该选择继承还是组合. 1.继承 假设我们有一个名为Insect(昆虫)的类,这个类包含两个方法:1)移动move(): 2)攻击attack().代码如下: class Insect { private int size; private String color; public Insect(…