如何在Java中将hashmap转换或转换为JSON对象,并再次将JSON对象转换为JSON字符串?
来自Java背景,我明白__str__这就像是toString的Python版本(虽然我确实认识到Python是较旧的语言).
所以,我已经定义了一个小类以及__str__如下方法:
class Node:
def __init__(self, id):
self.id = id
self.neighbours = []
self.distance = 0
def __str__(self):
return str(self.id)
Run Code Online (Sandbox Code Playgroud)
然后我创建了一些它的实例:
uno = Node(1)
due = Node(2)
tri = Node(3)
qua = Node(4)
Run Code Online (Sandbox Code Playgroud)
现在,尝试打印其中一个对象时的预期行为是打印相关值.这也发生了.
print uno
Run Code Online (Sandbox Code Playgroud)
产量
1
Run Code Online (Sandbox Code Playgroud)
但是当我做以下事情时:
uno.neighbours.append([[due, 4], [tri, 5]])
Run Code Online (Sandbox Code Playgroud)
然后
print uno.neighbours
Run Code Online (Sandbox Code Playgroud)
我明白了
[[[<__main__.Node instance at 0x00000000023A6C48>, 4], [<__main__.Node instance at 0x00000000023A6D08>, 5]]]
Run Code Online (Sandbox Code Playgroud)
在哪里我期待
[[2, 4], [3, 5]]
Run Code Online (Sandbox Code Playgroud)
我错过了什么?还有什么其他令人讨厌的东西我在做什么?:)
我正在尝试在Java中的打印行内打印webdriver测试中使用的测试数据
我需要在system.out.print函数内打印一个类中使用的多个变量(printf/println/whatever).
你们能帮助我吗?
public String firstname;
public String lastname;
firstname = "First " + genData.generateRandomAlphaNumeric(10);
driver.findElement(By.id("firstname")).sendKeys(firstname);
lastname = "Last " + genData.generateRandomAlphaNumeric(10);
driver.findElement(By.id("lastname")).sendKeys(lastname);
Run Code Online (Sandbox Code Playgroud)
我需要打印声明中的那些打印为:
名字:( 我使用的变量值)
姓氏:( 我使用的变量值)
使用下面的内容可以得到确切的结果.
但我需要减少行数printf并使用更有效的方法.
System.out.printf("First Name: ", firstname);
System.out.printf("Last Name: ", lastname);
Run Code Online (Sandbox Code Playgroud)
谢谢!
这可能听起来很基本......有人可以解释一下这种toString()方法的用法以及何时有效地使用它?
已经在谷歌搜索但找不到任何好的资源.
这可能是一个非常基本的问题,如果已经提出这个问题,请道歉.Java中的toString()应该用于实际的程序逻辑,还是仅用于调试/人工读取.我的基本问题是当我需要在实际程序流中使用字符串表示时,应该使用toString()或编写一个名为asString()的不同方法.
我问的原因是我在Web服务中有一堆类依赖于toString()才能正常工作,在我看来像asString()之类的东西会更安全.
谢谢
我写了一个类来创建和战斗口袋妖怪,但我无法弄清楚如何在测试器类中调用battle方法来测试我写的类.
我的任务是编写和测试模拟两个神奇宝贝之间的战斗的模拟.每个神奇宝贝都有一个健康值,一个力量值和一个速度值.运行状况,强度和速度值作为参数传递给构造函数.这些值最初必须介于1到300之间,并且最初应为非零值.完成游戏的总体思路是两个口袋妖怪将在模拟中相互"战斗",口袋妖怪轮流攻击.(具有最高速度值的那一个每轮首先出现)攻击宠物小精灵的力量将从"攻击者"的生命值中减去.
public class Pokemon{
private int health;
private int strength;
private int speed;
/**
* Constructs the pokemon
* @Require:
* health is an integer greater than or equal to 1 but less than or equal to 300
* strength is and integer greater than or equal to 1 but less than or equal to 300
* speed is an integer greater than or equal to 1 but less than or equal to 300
*/
public Pokemon(int health, int …Run Code Online (Sandbox Code Playgroud) public class Myname {
public static void main(String args[]){
Letter s = new Letter(); s.setCaracter("s");
Letter e = new Letter(); e.setCaracter("e");
Letter a = new Letter(); a.setCaracter("a");
Letter r = new Letter(); r.setCaracter("r");
Letter y = new Letter(); y.setCaracter("y");
Letter o = new Letter(); o.setCaracter("o");
Letter u = new Letter(); u.setCaracter("u");
Letter n = new Letter(); n.setCaracter("n");
Letter g = new Letter(); g.setCaracter("g");
Letter name[] = new Letter[10];
name[0] = s;
name[1] = e;
name[2] = a;
name[3] = r; …Run Code Online (Sandbox Code Playgroud) java中toString()的主要用途是什么
java n00b在这里.
我有一个自定义数据类型定义如下:
public class MyData{
int value;
int type;
String name;
public MyData(int newValue, int newType, string newName)
{
value = newValue;
type = newType;
name = newName;
}
}
Run Code Online (Sandbox Code Playgroud)
当我调用这个类的实例时,我希望它计算value属性,如下所示:
myData dataInstance = new myData(100,3,"customData");
System.out.println(dataInstance); // should print "100"
Run Code Online (Sandbox Code Playgroud)
这可以实现吗?
我想了解更多有关Java中构造函数的知识.
以下是我的代码.我试图打印一个整数值(加法和减法),但我的输出是一些随机数字.
public class MyNumber {
private int number;
public MyNumber(int number) {
this.number = number;
}
public int getNumber() {
return number;
}
public MyNumber add(MyNumber another) {
return new MyNumber(this.number + another.number);
}
public MyNumber sub(MyNumber another) {
return new MyNumber(this.number - another.number);
}
public static void main(String args[]) {
MyNumber myNumber = new MyNumber(2);
MyNumber c = myNumber.add(myNumber);
System.out.println(c);
MyNumber d = myNumber.sub(myNumber);
System.out.println(d);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的输出:
com.Packagename.MyNumber@7c6768
com.Packagename.MyNumber@1690726
Run Code Online (Sandbox Code Playgroud)
请指教.我是Java的新手,非常感谢任何解释.