如果您对toStringjava的数组感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于toStringjava的数组的详细内容,我们还将为您解答java数组tostring的
如果您对toString java的数组感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于toString java的数组的详细内容,我们还将为您解答java 数组 tostring的相关问题,并且为您提供关于C相当于Java的toString?、dart – 对象的默认stringify,相当于Java的toString?、Java toString-ToStringBuilder不够;不会遍历、java – Clojure中-toString与.toString的区别的有价值信息。
本文目录一览:- toString java的数组(java 数组 tostring)
- C相当于Java的toString?
- dart – 对象的默认stringify,相当于Java的toString?
- Java toString-ToStringBuilder不够;不会遍历
- java – Clojure中-toString与.toString的区别
toString java的数组(java 数组 tostring)
我在一堂课有几个数组
我想实现toString()来打印所有值。
这该怎么做?
public String var1[]; public int var2[];public String var3[][];public int var4[];public int var5[][];public String toString() { for(String s : var1) { System.out.println(s.toString()); } return null; }
那将打印所有var1 []内容,但如何打印所有内容?我是否必须为每个人都做个循环?
答案1
小编典典您可以Arrays.toString()
如下使用静态帮助器方法:
String lines[] = getInputArray();System.out.println(java.util.Arrays.toString(lines));
C相当于Java的toString?
解决方法
class A { public: int i; }; std::ostream& operator<<(std::ostream &strm,const A &a) { return strm << "A(" << a.i << ")"; }
这样您就可以在流上输出类的实例:
A x = ...; std::cout << x << std::endl;
如果您的操作符<<想要打印出A类的内部,并且真正需要访问其私有和受保护的成员,您也可以将其声明为友元函数:
class A { private: friend std::ostream& operator<<(std::ostream&,const A&); int j; }; std::ostream& operator<<(std::ostream &strm,const A &a) { return strm << "A(" << a.j << ")"; }
dart – 对象的默认stringify,相当于Java的toString?
例如:
MyClass myObject = new MyClass(); System.out.println(myObject);
如果覆盖将调用MyClass.toString(),否则将调用它的父级,直到达到java.lang.Object,给出默认的toString.
我发现有点丑陋(完全主观)做:
<span ng-repeat="star in cmp.stars" > {{star.toString()}} </span>
我宁愿这样做:
<span ng-repeat="star in cmp.stars" > {{star}} </span>
并实现我希望它以一种averwritten方法显示的方式.这可能吗?
解决方法
通过覆盖对象上的String toString()方法,显示的值将是此toString()调用的结果.如果在类层次结构中没有定义toString(),则将调用Object的toString()(它将为类MyClass {}返回’MyClass’的实例).
Java toString-ToStringBuilder不够;不会遍历
我需要能够遍历整个对象图并记录所有成员字段的所有内容。
例如:对象A具有对象B的集合,而对象B具有对象C的集合,并且A,B,C上具有其他字段,等等。
Apache Commons
ToStringBuilder不够用,因为它不会遍历对象图或输出集合的内容。
有谁知道另一个将这样做的库,或者有一个这样做的代码段?
答案1
小编典典您可以使用遍历整个树org.apache.commons.lang.builder.ReflectionToStringBuilder
。诀窍在于ToStringStyle
您需要遍历值。ToStringStyle
将处理已经处理的值,并且不允许递归。开始了:
System.out.println(ReflectionToStringBuilder.toString(schema, new RecursiveToStringStyle(5)));private static class RecursiveToStringStyle extends ToStringStyle { private static final int INFINITE_DEPTH = -1; /** * Setting {@link #maxDepth} to 0 will have the same effect as using original {@link #ToStringStyle}: it will * print all 1st level values without traversing into them. Setting to 1 will traverse up to 2nd level and so * on. */ private int maxDepth; private int depth; public RecursiveToStringStyle() { this(INFINITE_DEPTH); } public RecursiveToStringStyle(int maxDepth) { setUseShortClassName(true); setUseIdentityHashCode(false); this.maxDepth = maxDepth; } @Override protected void appendDetail(StringBuffer buffer, String fieldName, Object value) { if (value.getClass().getName().startsWith("java.lang.") || (maxDepth != INFINITE_DEPTH && depth >= maxDepth)) { buffer.append(value); } else { depth++; buffer.append(ReflectionToStringBuilder.toString(value, this)); depth--; } } // another helpful method @Override protected void appendDetail(StringBuffer buffer, String fieldName, Collection<?> coll) { depth++; buffer.append(ReflectionToStringBuilder.toString(coll.toArray(), this, true, true)); depth--; }}
java – Clojure中-toString与.toString的区别
gen-class
的gen-class的解释之后,我使用leiningen来获取类文件.
> leon new pinger创建一个项目.
> cd src和mkdir some并在其中创建了一个Example.clj文件.
>已添加:在project.clj中有一个[some.Example](或:aot:all).
Example.clj如下:
(ns some.Example (:gen-class)) (defn -toString [this] "Hello,World!")
然后我执行lein编译以获取目标目录中的类.
然后,我用lein repl执行这段代码.
(-toString (some.Example.)) ; should return "Hello,World!"
但是,我收到此错误消息.
CompilerException java.lang.RuntimeException: Unable to resolve symbol: -toString in this context,compiling:(/private/var/folders/nw/dmb7jh3d2hq89296z2gnntqm0000gn/T/form- init7145760420048735997.clj:1:1)
.toString工作正常.
user=> (.toString (some.Example.)) "Hello,World!"
该网站解释说我应该从-toString和.toString获得相同的结果,但我只得到.toString的正确结果.
Clojure中-toString和.toString有什么区别?为什么-toString会在示例中引发错误?
解决方法
>(.toString(some.Example.))是对新构造的some.Example实例的toString方法的调用.
>(-toString(some.Example.))是一个常规的Clojure函数调用,-toString是存储函数的Clojure Var的名称,而(some.Example.)是它的唯一参数.
:gen-class排列事物,以便-toString Var支持toString方法;也就是说,对some.Example实例的toString方法的任何调用都会导致对-toString的调用.所以确实只是直接调用-toString是等效的.
但是,在通过引用存储它的Var来调用Clojure函数之前,需要确保已经加载了这个Var所在的命名空间(这里没有问题,因为你能够构造一个实例) some.Example)然后通过其完全限定名称引用Var,或者使用refer,use,require或alias来使用更短的名称引用它:
(some.Example/-toString ...) (use '[some.Example :only [-toString]]) (-toString ...) (require '[some.Example :refer [-toString]]) (-toString ...) (require '[some.Example :as se]) (se/-toString ...) ;; refer and alias are typically not used directly
如果你说-toString没有先使用refer,使用或者需要如上所示1,Clojure将尝试将符号-toString解析为当前命名空间中的Var(通常是REPL会话中的用户;使用lein repl,它可能是:main命名空间来自你的defproject表格).
1这是关于REPL的.在源文件中,您通常在ns表单中使用:use或:require;语法与use / require减去引用相同.
关于toString java的数组和java 数组 tostring的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于C相当于Java的toString?、dart – 对象的默认stringify,相当于Java的toString?、Java toString-ToStringBuilder不够;不会遍历、java – Clojure中-toString与.toString的区别等相关知识的信息别忘了在本站进行查找喔。
本文标签: