精华内容
下载资源
问答
  • java 数组 toString

    千次阅读 2013-03-18 21:23:28
    数组toString()返回 : getClass().getName() + '@' + Integer.toHexString(hashCode())
    数组的toString()返回 : getClass().getName() + '@' + Integer.toHexString(hashCode())
    
    展开全文
  • 问题描述:我定义了一个类,类名是Job,当我输出Job.toString()是可以按我重载的toString方法输出的,但是如果输出jobs[]这个数组时,只会输出[Lmodel.Job;@45e228。那么这是为什么呢?怎么输出数组内容呢?解决方法...

    问题描述:我定义了一个类,类名是Job,当我输出Job.toString()是可以按我重载的toString方法输出的,但是如果输出jobs[]这个数组时,只会输出[Lmodel.Job;@45e228。那么这是为什么呢?怎么输出数组内容呢?

    解决方法:使用Arrays.toString(jobs)来输出。,

    分析: java里,所有的类,不管是java库里面的类,或者是你自己创建的类,全部是从object这个类继承的。object里有一个方法就是toString(),那么所有的类创建的时候,都有一个toString的方法。这个方法是干什么的呢?

    首先我们得了解,java输出用的函数print();是不接受对象直接输出的,只接受字符串或者数字之类的输出。

    当print检测到输出的是一个对象而不是字符或者数字时,那么它会去调用这个对象类里面的toString 方法,输出结果为[类型@哈希值]。Object类中的toString()方法的源代码如下:

    /**

    * Returns a string representation of the object. In general, the

    * toString method returns a string that

    * "textually represents" this object. The result should

    * be a concise but informative representation that is easy for a

    * person to read.

    * It is recommended that all subclasses override this method.

    *

    * The toString method for class Object

    * returns a string consisting of the name of the class of which the

    * object is an instance, the at-sign character `@', and

    * the unsigned hexadecimal representation of the hash code of the

    * object. In other words, this method returns a string equal to the

    * value of:

    *

    *

    * getClass().getName() + '@' + Integer.toHexString(hashCode())

    *

    *

    * @return a string representation of the object.

    */

    public String toString() {

    return getClass().getName() + "@" + Integer.toHexString(hashCode());

    }

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    而数组类中并没有对此方法重写(override),仅仅是重载(overload)为类的静态方法(参见java.util.Arrays)。所以,数组直接使用toString()的结果也是[类型@哈希值]。所以数组转为字符串应写成:Arrays.toString(a) 。

    这种方法的toString()是带格式的,也就是说输出的是[a, b, c],如果仅仅想输出abc则需用以下两种方法:

    方法1:直接在构造String时转换。

    char[] data = {'a', 'b', 'c'}; 只能是char[]或者byte[],不能是String[],

    String str = new String(data);

    1

    2

    方法2:调用String类的方法转换。

    String.valueOf(char[] ch)

    展开全文
  • java 数组 toString 意思

    2019-03-21 16:29:09
    toString ( nums ) ) ; // [1, 2, 3] int [ ] [ ] table = { { 1 , } , { 2 , 3 , } , { 4 , 5 , 6 , } , } ; System . out . println ( Arrays . toString ( table ) ...
    Element Type Encoding
    boolean Z
    byte B
    char C
    double D
    float F
    int I
    long J
    short S
    class or interface Lclassname
    // xxxxx varies
    System.out.println(new int[0][0][7]); // [[[I@xxxxx
    System.out.println(new String[4][2]); // [[Ljava.lang.String;@xxxxx
    System.out.println(new boolean[256]); // [Z@xxxxx
    
        int[] nums = { 1, 2, 3 };
    
        System.out.println(nums);
        // [I@xxxxx
    
        System.out.println(Arrays.toString(nums));
        // [1, 2, 3]
    
        int[][] table = {
                { 1, },
                { 2, 3, },
                { 4, 5, 6, },
        };
    
        System.out.println(Arrays.toString(table));
        // [[I@xxxxx, [I@yyyyy, [I@zzzzz]
    
        System.out.println(Arrays.deepToString(table));
        // [[1], [2, 3], [4, 5, 6]]
    
    展开全文
  • java 打印数组 toString deepToString

    千次阅读 2017-06-19 02:16:36
    java 中的 toString 方法的作用就是:能够使用 println 将对象直接打印出来。 使用 Arrays 的 toString 方法则可以将一个数组直接打印出来。 举例: public class toStringTest { public static class Item{ ...

     java 中的 toString 方法的作用就是:能够使用 println 将对象直接打印出来。 使用 Arrays 的 toString 方法则可以将一个数组直接打印出来。

    若是多维数组,需要用 deepToString 才能打印出数字,否则只能显示地址。


    我发现,在重新定义一个对象的 toString 方法时,必须声明为 public.


    举例:

    public class toStringTest {
    
    	public static class Item{
    		double price;
    		String name;
    		
    		public Item(double price, String name){
    			this.price=price;
    			this.name=name;
    		}
    		
    		public String toString(){
    			return "price is "+price+"; name is "+name;
    		}
    	}
    	
    	public static void main(String[] args) {
    		Item apple=new Item(1.2,"apple");
    		System.out.println(apple);
    		
    		int a[]={1,2,3};
    		System.out.println(Arrays.toString(a));
    		
    		int b[][]={{1,2,3},{4,5,6}};
    		System.out.println(Arrays.deepToString(b));
    }}


    显示效果:


    price is 1.2; name is apple[1, 2, 3][[1, 2, 3], [4,  5, 6]]

    展开全文
  • 繁星点点滴滴严格来讲,java无法重写/覆盖任何...所以,无法做到你说的,重写数组toString方法然后下次打印数组的时候就会按照自定义的方式打印了。比如classParent{publicvoidm(){...}}classChildentendsParent{...
  • JAVA数组toString()方法不能直接输出数组内容?

    万次阅读 多人点赞 2018-03-15 11:09:26
    问题描述:我定义了一个类,类名是Job,当我输出Job.toString()是可以按我重载的toString方法输出的,但是如果输出jobs[]这个数组时,只会输出[Lmodel.Job;@45e228。那么这是为什么呢?怎么输出数组内容呢? 解决...
  • 数组toString()方法,数组常用操作

    万次阅读 多人点赞 2017-09-08 13:45:18
    int[] arr ={1,2,3,4,5}; String arrString = Arrays.toString(arr); //输出[I@7150bd4d ...java里,所有的类,不管是java库里面的类,或者是你自己创建的类,全部是从object这个类继承的。object里有一个方
  • Java 数组

    2021-01-27 12:34:45
    Java 数组打印 // 打印一维数组 Arrays.toString(arr); // 打印二维数组 Arrays.deepToString(arr);
  • 1.数组的输出的三种方式一维数组:定义一个数组 int[] array = {1,2,3,4,5};(1)传统的for循环方式1 for...(3)利用Array类中的toString方法调用Array.toString(a),返回一个包含数组元素的字符串,这些元素被放置在...
  • object里有一个方法就是toString(),那么所有的类创建的时候,都有一个toString的方法。这个方法是干什么的呢?首先我们得了解,java输出用的函数print();是不接受对象直接输出的,只接受字符串或者数字之类的输出。...
  • 这里为大家整理了三种遍历的方法、for循环、foreach、toString(),第二种可以看作是第一种的增强。下面我们就这三种不同的数组遍历方法,带来详细的介绍。1.for循环i代表arr的下标,arr[i]获取i下标处的数组值。输出...
  • import java.util.Arrays; import java.util.Scanner; public class ExerciseArray { public static void main(String[] args){ int[] arr=new int[4]; Scanner scanner=new Scanner(System.in); System.out.println...
  • JAVA数组

    2019-07-23 18:23:09
    Java数组的操作 数组倒置 主函数: int[] arr={9,2,4,7,1,6,8,5,3,0}; Test1 t1=new Test1(); System.out.println("倒置前:"+Arrays.toString(arr)); t1.reverseArr(arr); System.out.println("倒置后:...
  • Java数组

    2021-02-25 14:42:56
    数组介绍 数组是一种数据结构, 用来存储同一类型值的集合。通过一个整型下标可以访问数组中 的每一个值。例如, 如果 a 是一个整型数组, a[i] 就是...toString(把数组输出到字符串,主要是用于查看数组信息) 用法 i
  • java 数组

    2021-03-06 20:16:13
    int [] a= new int[100]; a.length 数字数组,所有元素初始化为0; boolean数组初始化为false; string初始化为null; 1.for each for(int element:a) System.out.println...java中允许数组长度为0,new int[0]
  • 而一开始asList的设计时用于打印数组而设计的,但jdk1.5开始,有了另一个比较更方便的打印函数Arrays.toString(),于是打印不再使用asList(),而asList()恰巧可用于将数组转为集合。public class App {...
  • 关于java数组

    2017-08-01 10:05:06
    在练习java数组的时候,发现数组的并没有toString()方法,默认调用的是基类的,如果想要toString的话需要调用Arrays类中的,然后将数组传入。那么为什么String可以直接调用.toString()方法呢? 参考了 为什么如此...
  • 在逛 Stack Overflow 的时候,...来回顾一下提问者的问题吧:在 Java 中,数组虽然是一个对象,但并未明确的定义这样一个类,因此也就没有覆盖 toString() 方法的机会。如果尝试直接打印数组的话,输出的结果并不...
  • ​zhuanlan.zhihu.com在逛 Stack Overflow 的时候,发现了一些访问量像‎安第斯山一样高的问题,比如说这个:打印 Java 数组最优雅的方式是什么?访问量足足有 220W+,想不到啊,这么简单的问题竟然有这么多程序员被...
  • java数组

    2019-12-30 16:43:39
    一:数组遍历 1.for 以及for each 2.遍历数组可以使用for循环,for...使用Arrays.toString()可以快速获取数组内容。 二:数组排序 1.冒泡排序 import java.util.Arrays; public class Main { public static v...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,708
精华内容 1,083
关键字:

java数组tostring

java 订阅