相关疑难解决方法(0)

打印对象的引用

我是java的新手.说,我有一个班级个人.我想要打印

Individual ind = new Individual();
System.out.println(ind);
Run Code Online (Sandbox Code Playgroud)

上面的代码给出了如下输出:

Individual@1922221
Run Code Online (Sandbox Code Playgroud)
  1. 这有什么意义?
  2. 它是该对象的某种独特ID吗?
  3. 我可以自定义吗?我的意思是写一个我自己的函数,当我打印时会给出输出?
  4. 如果是这样,我该怎么做?

java object

7
推荐指数
2
解决办法
9277
查看次数

使用Collections.sort()时,它会对哈希码进行排序和打印

我正在使用一个示例,它使用ArrayList包含新实例,并使用Collections.sort()方法使用类似的接口.我不知道为什么它在排序时打印出哈希码以及我的代码中的错误.任何人都可以找出错误并详细解释我.

SortFruitObject.java

import java.util.*;
public class SortFruitObject{
    public static void main(String[] args){
        ArrayList<Fruit> frui   =   new ArrayList<Fruit>();

        frui.add(new Fruit("Pine", "PineDesc", 500));
        frui.add(new Fruit("Apple", "AppleDesc", 400));
        frui.add(new Fruit("Banana", "BananaDesc", 450));
        frui.add(new Fruit("JackFruit", "JackFruitDesc", 300));

        Collections.sort(frui);
        System.out.println(frui);
    }
}
Run Code Online (Sandbox Code Playgroud)

Fruit.java

import java.io.*;
import java.util.*;
public class Fruit implements Comparable<Fruit>{
    private String fruitName;
    private String fruitDesc;
    private int fruitQuantity;

    public int compareTo(Fruit f){
        return fruitName.compareTo(f.getFruitName());
    }

    public Fruit(String fruitName, String fruitDesc, int fruitQuantity){
        this.fruitName = fruitName;
        this.fruitDesc = fruitDesc;
        this.fruitQuantity = fruitQuantity;
    } …
Run Code Online (Sandbox Code Playgroud)

java sorting interface comparable

6
推荐指数
1
解决办法
1504
查看次数

打印出链接列表

当我尝试打印出我的链接对象列表时,它给了我:

linkedlist.MyLinkedList@329f3d

有没有办法简单地将其作为字符串打印?

package linkedlist;

import java.util.Scanner;

public class LinkedListTest {

    public static void main(String[] args) {
        Scanner keyboard = new Scanner(System.in);
        String item;

        MyLinkedList list = new MyLinkedList();
        System.out.println("Number of items in the list: " + list.size());

        Object item1 = "one";
        Object item2 = "two";
        Object item3 = "Three";

        list.add(item1);
        list.add(item2);
        list.add(item3);

        System.out.println("Number of items in the list: " + list.size());

        System.out.println(list);
}
Run Code Online (Sandbox Code Playgroud)

java printing string linked-list

5
推荐指数
3
解决办法
4万
查看次数

将int []转换为逗号分隔的字符串

如何int[]在Java中转换为逗号分隔的String?

int[] intArray = {234, 808, 342};
Run Code Online (Sandbox Code Playgroud)

结果我想:

"234, 808, 342"
Run Code Online (Sandbox Code Playgroud)

这里有非常相似的参考问题,但这些解决方案都没有提供我需要的结果.

到目前为止我尝试过的,

String commaSeparatedUserIds = Arrays.toString(intArray); // result: "[234, 808, 342]"
String commaSeparatedUserIds = Arrays.toString(intArray).replaceAll("\\[|\\]|,|\\s", ""); // result: "234808342"
String commaSeparatedUserIds = intArray.toString();  // garbage result
Run Code Online (Sandbox Code Playgroud)

java arrays string int

5
推荐指数
4
解决办法
4153
查看次数

将List <Object []>转换为List <Integer>时出现歧义

我们试图通过SQL查询从数据库中获取结果,如果存在记录hibernate,将使用该结果返回List<Object[]>.但后来我们想把它转换成一个List<Integer>.因此,我们不是迭代Object[]列表并继续添加到整数列表,而是尝试了一些东西,示例代码就像

public class ListObjectArrayToListInteger {
    public static void main(String[] args) {
        Object[] ob1 = {1};
        Object[] ob2 = {5};
        Object[] ob3 = {9};
        List objList = new ArrayList();
        objList.add(ob1);
        objList.add(ob2);
        objList.add(ob3);

        //Case - 1
        List<Integer> intList = objList;
        System.out.println(intList);

        //Case - 2          
        List<Integer> intList = new ArrayList<Integer>();
        intList.addAll(objList);
        System.out.println(intList);
    }
}
Run Code Online (Sandbox Code Playgroud)

我们只是尝试从查询中获取一列,这就是为什么所有Arrays只有一个元素的原因.两个病例1病例2分别执行,并且输出在两种情况下相同,它是这样的

[[Ljava.lang.Object; @ 3e25a5,[Ljava.lang.Object; @ 19821f,[Ljava.lang.Object; @ addbf1]

Case-1中, intList一种类型的List<Integer> …

java list data-conversion

4
推荐指数
1
解决办法
628
查看次数

我怎样才能在课堂上支持println?

我自己制作的课程需要支持哪些println()才能打印出来?例如,我有:

public class A {
...
}
Run Code Online (Sandbox Code Playgroud)

应该使用哪些方法A使此代码有效?也许是这样的:

public static void main() {
    A a = new A();
    System.out.println(a);
}
Run Code Online (Sandbox Code Playgroud)

我猜这个toString()方法必须重载.我对吗?这够了吗?

java println

3
推荐指数
1
解决办法
3036
查看次数

重写 System.out.println

我怎样才能覆盖System.out.println()

就像我会覆盖一样toString()

@Override
public String toString() {
    return "x";
}
Run Code Online (Sandbox Code Playgroud)

我想让它当你打电话时

System.out.println(OBJECT);
Run Code Online (Sandbox Code Playgroud)

它将打印对象的属性而不是引用。

java

3
推荐指数
1
解决办法
1077
查看次数

java中的print方法

我想问你一下打印矢量数组,如下:

Vector[] routingTable = new Vector[connectivity.length];
Run Code Online (Sandbox Code Playgroud)

我尝试过这种方法,但它不适用于我,protocol.Route@c17164 当我在主要打印时,它给了我,这是代码,所以你能告诉我为什么它不能打印正确的值吗?

public String printRT(int hop)
{
   String s = "";
   for (int i = 0; i < conf.routingTable[hop].size(); i++) 
  {
     s= " ROUTING TABLE " + conf.routingTable[hop].get(i);
  }
  return s;
}
Run Code Online (Sandbox Code Playgroud)

java

2
推荐指数
2
解决办法
1901
查看次数

当我尝试打印出一个矢量元素时,我得到了这些奇怪的字符!

我正在使用Netbeans.当我运行下面的程序时,我将其作为输出[I@de6ced!怎么会?

import java.util.Arrays;
import java.util.Vector;

public class Test {

public static void main (String[] args) {
     int[] a = new int[1];
     a[0] = 5;
     Vector<Integer> a1 = new Vector(Arrays.asList(a));
     System.out.println(a1.elementAt(0));
 }
}
Run Code Online (Sandbox Code Playgroud)

我也试过解决它,但后来我得到了一个

线程"main"中的异常java.lang.ClassCastException:[我无法在TopCoder.Test.main(Test.java:13)中强制转换为java.lang.Integer Java结果:1

public static void main (String[] args) {
    int[] a = new int[1];
    a[0] = 5;
    Vector<Integer> a1 = new Vector(Arrays.asList(a));

    int b = a1.elementAt(0); /* EXCEPTION THROWN HERE */
    System.out.println(b);
}
Run Code Online (Sandbox Code Playgroud)

java syntax autoboxing

2
推荐指数
1
解决办法
3423
查看次数

在Java8中比较By Value返回奇怪的结果

我正在尝试根据值对地图进行排序.

但我看到以下程序有一些奇怪的行为

public class CompareByValueMain {

    public static void main(String[] args) {
        Map<String,Integer> itemIDToTimeMap = new HashMap<String,Integer>();

        itemIDToTimeMap.put("Baggage", 3);
        itemIDToTimeMap.put("Handbag", 16);
        itemIDToTimeMap.put("Closed Footwear", 4);
        itemIDToTimeMap.put("Shirt", 25);

        Set<String> itemIDs = itemIDToTimeMap.entrySet().stream()
                .sorted(Collections.reverseOrder(Map.Entry.comparingByValue()))
                .map(Map.Entry::getKey)
                .collect(Collectors.toSet());

        System.out.println(itemIDs);
    }
}
Run Code Online (Sandbox Code Playgroud)

输出结果是正确的

[衬衫,手提包,封闭式鞋类,行李 ]

但是当我从Baggage改为Bag时的输入 它给出了以下输出

[衬衫,,手提包,封闭式鞋]

理想情况下,应根据地图中的值进行排序,而不管键值如何.但是如果在这里更改密钥,不确定为什么会改变.

java dictionary java-8

2
推荐指数
2
解决办法
241
查看次数