精华内容
下载资源
问答
  • 内部类分类按照内部类位置分类:成员位置:在成员位置定义的类,被称为成员内部类局部位置:在局部位置定义的类,被称为局部内部类成员内部类:格式:class Outer{class Inner{}}创建内部类对象访问内部类:格式:...

    内部类分类

    按照内部类位置分类:

    成员位置:在成员位置定义的类,被称为成员内部类

    局部位置:在局部位置定义的类,被称为局部内部类

    成员内部类:

    格式:class Outer{class Inner{}}

    创建内部类对象访问内部类:

    格式:Outer.Inner inner = new Outer().new Inner();

    成员内部类的修饰符:

    把成员内部类当成属性,属性有的修饰符内部类都有。

    内部类访问特点:

    1.内部类可以直接访问外部类的成员,包括私有。

    2.外部类要访问内部类的成员,必须创建对象。

    局部内部类:

    举例说明:

    class Outer{

    public void show(){

    class Inner{

    public void test(){

    }

    }

    new Inner().test();

    }

    }

    class test{

    public static void main(String[] args) {

    new Outer().show();

    }

    }

    局部内部类的特点

    1.可以直接访问外部类的成员

    2.可以创建内部类对象,通过对象调用内部类方法,来使用局部内部类功能

    3.局部内部类访问局部变量必须用final修饰(JDK1.7之前要加final不然报错 但是在JDK1.8 不用加 不会报错)

    静态内部类:

    就是在成员内部类的基础上给内部类加上static这样静态内部类就只能访问静态的变量和方 法了。

    匿名内部类:

    该类是内部内中使用最多:

    匿名内部类的格式:

    new 类名或者接口名(){

    重写方法;

    } ;

    匿名内部类的本质:

    是一个继承了该类或者实现了该接口的子类匿名对象。

    对象经常使用的Object方法总结

    public int hashCode()

    此方法是将对象的引用地址进行逻辑处理输出一个新的字符数字。此方法在有些类中会被重写例如:String类。返回该对象的哈希码值。默认情况下,该方法会根据对象的地址来计算。不同对 象的,hashCode()一般来说不会相同。但是,同一个对象的hashCode()值肯定相同。

    public final Class getClass()

    获取对象的真实类的全名称。

    public String toString()

    此方法是将对象的引用地址返回,注意:String类里面会重写此方法。返回的是内容

    public boolean equals(Object obj)

    比较两个引用是否相等,注意:在String类中是比较内容。

    Scanner用法

    Scanner的方法介绍:

    hasNextxxx():

    判断输入的是否是某种类型的元素,其中XXX可以是Int,Double等。如果需要判断输入的字符串直接使用hasNext()方法就行。

    nextXXX表示获取输入流:

    常用的几种方法:

    public int nextInt():获取一个int类型的值

    ​public String nextLine():获取一个String类型的值

    ​public String next():获取一个String类型的值

    问题:

    使用nextLine()方法时,不将空格看做是两个字符串的间隔

    使用next()方法时,将空格看作是两个字符串的间隔:意思就是会将空格当成结束符。

    还有就是nextInt对回车不会进行回收,但是nextline会将回车当成结束符。

    String类的学习很重要哦

    常见的构造方法:

    public String():空构造

    public String(String original):创建内容为original的字符串对象

    public String(byte[] bytes):把字节数组转成字符串

    public String(byte[] bytes,int index,int length):把字节数组的一部分转成字符串(index:表示的是从第几个索引开始, length表示的是长度)

    public String(char[] value):把字符数组转成字符串

    public String(char[] value,int index,int count)

    public String(StringBuffer buffer) 把StingBuffer转成字符串,当然StingBuffer对象调用toString()方法也可以转换成字符串。

    String类中的方法:

    public int length():获取字符串的长度。

    public char charAt(int index):获取指定索引位置的字符

    public int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引。

    public int indexOf(String str):返回指定字符串在此字符串中第一次出现处的索引。

    public int indexOf(int ch,int fromIndex):返回指定字符在此字符串中从指定位置后第一次出现处的索引。

    public int indexOf(String str,int fromIndex): 返回指定字符串在此字符串中从指定位置后第一次出现处的索引。

    lastIndexOf系列是从字符串后往前搜索。

    public String substring(int start): 从指定位置开始截取字符串,默认到末尾。

    public String substring(int start,int end):从指定位置开始到指定位置结束截取字符串。

    public static String valueOf(xxxxx) 该系列方法很常用

    public static String valueOf(char[] chs):把字符数组转成字符串。

    public static String valueOf(int i): //重要 把int类型的数据转成字符串。

    注意:String类的valueOf方法可以把很多类型的数据转成字符串。

    public String replace(char old,char new)将指定字符进行互换

    public String replace(String old,String new)将指定字符串进行互换

    public String trim()去除两端空格

    public int compareTo(String str) 会对照ASCII 码表 从第一个字母进行减法运算 返回的就是这个减法的结果,如果前面几个字母一样会根据两个字符串的长度进行减法运算返回的就是这个减法的结果,如果连个字符串一摸一样 返回的就是0

    public int compareToIgnoreCase(String str) 跟上面一样 只是忽略大小写的比较

    public String toLowerCase():把字符串转成小写。

    public String toUpperCase():把字符串转成大写。

    public String concat(String str):拼接字符串。

    注意:concat和+的区别:

    1.+可以是字符串或者数字及其他基本类型数据,而concat只能接收字符串。

    2.+左右可以为null,concat为会空指针。

    3.如果拼接空字符串,concat会稍快,在速度上两者可以忽略不计,如果拼接更多字符串建议用StringBuilder。

    4.从字节码来看+号编译后就是使用了StringBuiler来拼接,所以一行+++的语句就会创建一个StringBuilder,多条+++语句就会创建多个,所以为什么建议用StringBuilder的原因。

    字符串转换

    把其他(特定类型)类型转为字符串

    通过String构造函数可以将byte数组、char数组StringBufer、以及字符串本身创建出字符串对象。

    还可以通过String类的静态方法valueOf()该方法支持将多种类型转换成字符串(可以查阅相关文档)。

    把字符串转换成数组:

    public byte[] getBytes():把字符串转换为字节数组。

    public char[] toCharArray():把字符串转换为字符数组。

    public String[] split(String regex) 把字符串以某个正则方式分割成字符数组。

    字符串中的一些问题需要注意

    先引入问题。

    String s="hello";

    String s1="hello";

    本内容只是自己的一些想法:

    首先通过s=“hello”方式创建对象驻留到字符串常量池当中。那当后面的以同样方式创建字符串的对象的方式将会先在字符串常量池中通过常量池中的(对象.equals("hello")),如果为true就说明有将匹配到的引用到时候返回给S1。

    String s=new String("hello");

    注意此过程中设计两对象的创建一个是hello字符串对象是在字符串常量池中一个是在堆中是String对象。

    关于intern()方法官方的标准解释:

    返回字符串对象的规范表示。

    最初为空的字符串池由String类私有维护。调用intern方法时,如果池已经包含等于equals(Object)方法确定的此String对象的字符串,则返回池中的字符串。 否则,将此String对象添加到池中,并返回对此String对象的引用。因此,对于任何两个字符串s和t,当且仅当s.equals(t)为true时,s.intern()== t.intern()为true。所有文字字符串和字符串值常量表达式均已插入。 字符串文字在Java语言规范的第3.10.5节中定义

    返回值:与该字符串具有相同内容的字符串,但保证来自唯一字符串池。

    用一个例子说明:

    String a=new String("hello");

    a.intern()

    该方法将去字符串常量池中通过使用本对象中的内容"hello",用池中的引 用.equals("hello")来匹配如果有直接返回常量池中的引用如果没有则会将该字符串的引用放到里面。

    展开全文
  • package ...import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutput;import java.io....

    package com.lifeng.seri;

    import java.io.ByteArrayInputStream;

    import java.io.ByteArrayOutputStream;

    import java.io.IOException;

    import java.io.ObjectInputStream;

    import java.io.ObjectOutput;

    import java.io.ObjectOutputStream;

    import org.junit.Test;

    import com.lifeng.domain.Department;

    public class Serial2Obj {

    /**

    * Object对象与string之间的序列化和反序列化

    * @throws IOException

    * @throws ClassNotFoundException

    */

    @Test

    public void obj2String() throws IOException, ClassNotFoundException{

    //Object 序列化成string

    Department dept = new Department("1","开发部","开发");

    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

    ObjectOutputStream out = new ObjectOutputStream(byteArrayOutputStream);

    out.writeObject(dept);

    String deptString = byteArrayOutputStream.toString("ISO-8859-1");//必须是ISO-8859-1

    System.out.println("===>"+deptString);

    //String 的反序列化

    ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(deptString.getBytes("ISO-8859-1"));

    ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream);

    Department dept2 = (Department) objectInputStream.readObject();

    System.out.println(dept2);

    System.out.println(dept2.getDeptID()+"=="+dept2.getDeptName()+"=="+dept2.getDeptDesc());

    out.close();

    byteArrayOutputStream.close();

    objectInputStream.close();

    byteArrayInputStream.close();

    }

    }

    展开全文
  • java对象与字符串之间的序列化和反序列化本文转载自 java对象与字符串之间的序列化和反序列化package com.lifeng.seri; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java...

    java对象与字符串之间的序列化和反序列化

    本文转载自 java对象与字符串之间的序列化和反序列化

    package com.lifeng.seri;  
    
    import java.io.ByteArrayInputStream;  
    import java.io.ByteArrayOutputStream;  
    import java.io.IOException;  
    import java.io.ObjectInputStream;  
    import java.io.ObjectOutput;  
    import java.io.ObjectOutputStream;  
    
    import org.junit.Test;  
    
    import com.lifeng.domain.Department;  
    
    public class Serial2Obj {  
        /** 
         * Object对象与string之间的序列化和反序列化 
         * @throws IOException  
         * @throws ClassNotFoundException  
         */  
        @Test  
        public void obj2String() throws IOException, ClassNotFoundException{  
            //Object 序列化成string  
            Department dept = new Department("1","开发部","开发");  
            ByteArrayOutputStream byteArrayOutputStream = new    ByteArrayOutputStream();  
            ObjectOutputStream out = new ObjectOutputStream(byteArrayOutputStream);  
            out.writeObject(dept);  
            String deptString = byteArrayOutputStream.toString("ISO-8859-1");//必须是ISO-8859-1  
            System.out.println("===>"+deptString);  
    
            //String 的反序列化  
            ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(deptString.getBytes("ISO-8859-1"));  
            ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream);  
            Department dept2 = (Department) objectInputStream.readObject();  
            System.out.println(dept2);  
            System.out.println(dept2.getDeptID()+"=="+dept2.getDeptName()+"=="+dept2.getDeptDesc());  
    
            out.close();  
            byteArrayOutputStream.close();  
            objectInputStream.close();  
            byteArrayInputStream.close();  
        }  
    }  

    展开全文
  • package ...import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutput;import java.io....

    package com.lifeng.seri;

    import java.io.ByteArrayInputStream;

    import java.io.ByteArrayOutputStream;

    import java.io.IOException;

    import java.io.ObjectInputStream;

    import java.io.ObjectOutput;

    import java.io.ObjectOutputStream;

    import org.junit.Test;

    import com.lifeng.domain.Department;

    public class Serial2Obj {

    /**

    * Object对象与string之间的序列化和反序列化

    * @throws IOException

    * @throws ClassNotFoundException

    */

    @Test

    public void obj2String() throws IOException, ClassNotFoundException{

    //Object 序列化成string

    Department dept = new Department("1","开发部","开发");

    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

    ObjectOutputStream out = new ObjectOutputStream(byteArrayOutputStream);

    out.writeObject(dept);

    String deptString = byteArrayOutputStream.toString("ISO-8859-1");//必须是ISO-8859-1

    System.out.println("===>"+deptString);

    //String 的反序列化

    ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(deptString.getBytes("ISO-8859-1"));

    ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream);

    Department dept2 = (Department) objectInputStream.readObject();

    System.out.println(dept2);

    System.out.println(dept2.getDeptID()+"=="+dept2.getDeptName()+"=="+dept2.getDeptDesc());

    out.close();

    byteArrayOutputStream.close();

    objectInputStream.close();

    byteArrayInputStream.close();

    }

    }

    展开全文
  • JSON语法:客户端服务端的交互数据无非就是两种数组对象因此,JSON所表示的数据要么就是对象,要么就是数组JSON语法是javaScript语法的子集,javaScript用[]中括号来表示数组,用{}大括号来表示对象,JSON亦是如此...
  • Java实现JSONObject对象与Json字符串互相转换JSONObject 转 JSON 字符串Java代码:JSONObject jsonObject = new JSONObject();jsonObject.put("name","wjw");jsonObject.put("age",22);jsonObject.put("sex","男");...
  • 1.首先引入json jar包net.sf.json-libjson-lib2.4jdk152.创建user类package ...import java.io.Serializable;import java.util.Date;import org.springframework.stereotype.Component;import com.fast...
  • java 对象与json字符串互相转换工具类所需要的jar,java 对象与json字符串互相转换工具类
  • public class Test {public static void main(String[] args) {// 实现java对象与Json字符串之间的转化// 1. Person对象与json之间的转换//1.1 将Person对象转成jsonPerson p = new Person(10, "张三");Object obj =...
  • 一.Json对象与Json字符串的转化1.jQuery插件支持的转换方式:$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象2.浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,...
  • Java实现JSONObject对象与Json字符串互相转换JSONObject 转 JSON 字符串Java代码:JSONObject jsonObject = new JSONObject();jsonObject.put("name", "wjw");jsonObject.put("age", 22);jsonObject.put("sex", "男...
  • Java对象实现的演进 String对象是Java中使用最频繁的对象之一,所以Java开发者们也在不断地对String对象的实现进行优化,以便提升String对象的性能。 Java6以及之前版本中String对象的属性 在Java6以及之前版本...
  • 主要介绍了在java中,JSON字符串与java对象的相互转换实例详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下
  • 文章目录1、Java前台的交互2、解析JSON的第三方工具3、JSON数据和Java对象的相互转换Java对象转换JSON字符串JSON字符串转为Java对象 1、Java前台的交互 作为后台,Java不仅需要接收前台传递过来的数据,还需要...
  • import java.text.ParseException;...public class DateUtil {private DateUtil() {}/*** 将日期格式转换成一个字符串* @param d* 被转换的日期对象* @param format* 传递过来的要被转换的格式*...
  • Java数组的基本概念一维数组的创建使用foreach语句多维数组的创建使用字符串String入门1、数组的基本概念数组是一种线性数据结构, 它是一个有序集, 存储数据类型相同、个数固定的多个元素。Java的数组是对象方式...
  • [Json——使用Json jar包实现Json字符串与Java对象或集合之间的互相转换]1,[java将JSON字符串转换为实体类对象 @SuppressWarnings(unchecked)public static T jsonToObject(String jsonString, Class pojoCalss) {...
  • 一、Java对象转为JSON字符串 二、JSON字符串转为Java对象 JSON解析器,常见的解析器:Jsonlib,Gson,fastjson,jackson介绍:Jackson 一、Java对象转为JSON字符串 1、引入需要的Jackson所需要的jar包(三个)...
  • 一.Json对象与Json字符串的转化1.jQuery插件支持的转换方式:$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象2.浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,...
  • java转换json字符串 在学习如何编写基于Java的软件时,开发人员遇到的第一个障碍就是如何将其代码其他软件连接。 这通常是JSON的来源。虽然您可能是Java向导,但JSON是另一种动物。 无论如何,这篇博客文章解释了...
  • 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML、JSON等...JSON可以有两种格式,一种是对象格式的,另一种是数组对象,{"name":"JSON","address":"北京市西城区","age":25}//JSON的对象格式的字符...
  • 场景:java对象与json字符串互转换 1.本例使用com.alibaba.fastjson.JSON类 2.实体对象转换为json字符串 public static String toJSONString(Object city) { String jsonStr = ""; if (city != null)...
  • Json对象与Json字符串的转化、JSON字符串Java对象的转换 一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式:  $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,049
精华内容 3,619
关键字:

java对象与字符串

java 订阅