我尝试gradle -d compileJava在我的try项目中,并且gradle引发"跳过任务':compileJava',因为它没有源文件." 更糟糕的是,我看不到在build /中创建的任何内容.我只在运行gradle init并创建"src/Ex.java" 时才创建此项目.
我的问题是:
如何加载默认的"compileJava"或定义我的"compileJava"来修复此警告.
我想打印变量值而不指定其类型.
在c中,我可以做到
int main(int argc, char **argv) {
int i = 1;
float f = 0.1;
char s[] = "s";
printf("%i\n", i);
printf("%f\n", f);
printf("%s", s);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但我希望:
int main(int argc, char **argv) {
int i = 1;
float f = 0.1;
char s[] = "s";
printf("%any_type\n", i);
printf("%any_type\n", f);
printf("%any_type", s);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
问题:有没有%any_type用C?
在Ruby中,我可以使用以下代码获取实例变量val
class C
def initialize(*args, &blk)
@iv = "iv"
@iv2 = "iv2"
end
end
puts "C.new.inspect:#{C.new.inspect} ---- #{::File.basename __FILE__}:#{__LINE__}"
# => C.new.inspect:#<C:0x4bbfb90a @iv="iv", @iv2="iv2"> ---- ex.rb:8
Run Code Online (Sandbox Code Playgroud)
在Java中,我希望我能得到以下结果,我该怎么办?
package ro.ex;
public class Ex {
String attr;
String attr2;
public Ex() {
this.attr = "attr";
this.attr2 = "attr2";
}
public static void main(String[] args) {
new Ex().inspect();
// => Ex attr= "attr", attr2 = "attr2";
}
}
Run Code Online (Sandbox Code Playgroud)
更新:
我发现这可以解决我的问题,但我想更简单,像guava.in ruby中的一些函数,我主要在rubymine监视工具窗口中使用Object#inspect,我希望我可以像obj.inspect一样使用它
更新:
我终于确定使用Tedy Kanjirathinkal的答案,我自己用以下代码实现:
package ro.ex;
import com.google.common.base.Functions;
import com.google.common.collect.Iterables;
import …Run Code Online (Sandbox Code Playgroud) 我试过了:
package ro.ex;
import java.io.IOException;
import java.lang.reflect.Type;
class Ex {
public boolean isIns(Object o, Class t) {
o instanceof t;
}
public static void main(String[] args) throws IOException {}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码将引发未知类"t"
我的问题是:如何传递上述代码.
更新:
以下代码无法通过intellij构思语法检查器
public boolean isIns(Object o, Class<?> t) {
return o instanceof t;
}
Run Code Online (Sandbox Code Playgroud)
所以正确的代码是:
public boolean isIns(Object o, Class<?> t) {
return t.isAssignableFrom(o.getClass());
}
Run Code Online (Sandbox Code Playgroud)
更简单的方法是:
package ro.ex;
import java.io.IOException;
import java.lang.reflect.Type;
class Ex {
public boolean isIns(Object o, Class t) {
return t.isInstance(o);
}
public static …Run Code Online (Sandbox Code Playgroud)