我是java的新手.说,我有一个班级个人.我想要打印
Individual ind = new Individual();
System.out.println(ind);
Run Code Online (Sandbox Code Playgroud)
上面的代码给出了如下输出:
Individual@1922221
Run Code Online (Sandbox Code Playgroud)
我正在使用一个示例,它使用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) 当我尝试打印出我的链接对象列表时,它给了我:
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) 如何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) 我们试图通过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> …
我自己制作的课程需要支持哪些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()方法必须重载.我对吗?这够了吗?
我怎样才能覆盖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)
它将打印对象的属性而不是引用。
我想问你一下打印矢量数组,如下:
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) 我正在使用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) 我正在尝试根据值对地图进行排序.
但我看到以下程序有一些奇怪的行为
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 ×10
string ×2
arrays ×1
autoboxing ×1
comparable ×1
dictionary ×1
int ×1
interface ×1
java-8 ×1
linked-list ×1
list ×1
object ×1
printing ×1
println ×1
sorting ×1
syntax ×1