我正在使用Intellij和一个Git项目,user.name并user.email正确设置我的.问题是当使用IDE接口提交时,默认情况下不选择作者.我可以点击,然后我会得到一个下拉列表来选择它,但有时我会忘记这样做,每次忘记时修改提交都是一种痛苦.
有没有办法在提交时自动设置作者,因为它只有一个,这会让我有些头疼吗?
假设我有这些接口:
public interface I1 {
void foo();
}
public interface I2 {
void bar();
}
Run Code Online (Sandbox Code Playgroud)
和班级:
public class A extends AParent implements I1, I2 {
// code for foo and bar methods here
}
public class B extends BParent implements I1, I2 {
// code for foo and bar methods here
}
public class C extends CParent implements I1 {
// code for foo method here
}
Run Code Online (Sandbox Code Playgroud)
现在,使用泛型我可以有一个方法,如:
public <T extends I1 & I2> void method(T param) {
param.foo();
param.bar(); …Run Code Online (Sandbox Code Playgroud) "早期失败"的含义是什么意思,在什么情况下这种方法最有用,何时会避免这种做法?
这可能是一个愚蠢的问题,但我刚刚看到一个问题,询问如何为泛型类型创建一个Type变量.共识似乎是你应该有一个返回该类型的虚方法,然后使用反射来获取它(在这种情况下他想要Map<String, String>).像这样的东西:
public Map<String, String> dummy() { throw new Error(); }
Type mapStringString = Class.forName("ThisClass").getMethod("dummy").getGenericReturnType();
Run Code Online (Sandbox Code Playgroud)
我的问题是,没有多少使用过反射,你不能只做以下事情:
Type mapStringString = new ParameterizedType() {
public Type getRawType() {
return Map.class;
}
public Type getOwnerType() {
return null;
}
public Type[] getActualTypeArguments() {
return new Type[] { String.class, String.class };
}
};
Run Code Online (Sandbox Code Playgroud)
这会有用吗?如果没有,为什么不呢?如果它有什么危险/问题(除了能够返回一些Integer<String>明显不可能的类型之外).
我是新来的,也是开发软件和编程的新手,而新的我意味着0经验或教育.
由于我目前正在通过互联网学习医学,我平均每天使用一台计算机大约8-9个小时,这使我对编程非常感兴趣.我从Redditor的同事那里得到了一个链接,在我深入研究这个项目之前,我得到了一些问题.
感谢您的时间!
我们有一个类似于这个的类层次结构:
public class TestDereference {
private static MainInterface mi = new MainInterfaceImpl();
public static void main(String[] args) {
System.out.println(mi.getSubInterface().getField());
}
}
interface MainInterface {
<T extends SubInterface> T getSubInterface();
}
interface SubInterface {
Field getField();
}
class Field {
@Override
public String toString() {
return "Hooray!";
}
}
class SubInterfaceImpl implements SubInterface {
Field f = new Field();
public Field getField() {
return f;
}
}
class MainInterfaceImpl implements MainInterface {
SubInterfaceImpl si = new SubInterfaceImpl();
public <T extends SubInterface> …Run Code Online (Sandbox Code Playgroud) 例A:
// pseudo code
interface IFoo {
void bar();
}
class FooPlatformA : IFoo {
void bar() { /* ... */ }
}
class FooPlatformB : IFoo {
void bar() { /* ... */ }
}
class Foo : IFoo {
IFoo m_foo;
public Foo() {
if (detectPlatformA()} {
m_foo = new FooPlatformA();
} else {
m_foo = new FooPlatformB();
}
}
// wrapper function - downside is we'd have to create one
// of these for each function, which …Run Code Online (Sandbox Code Playgroud) 所以我有一张基本上是树的桌子.每一行在同一个表中有一个父级,一个lvl列告诉我树中的级别,root是lvl = 0.现在说我要选择所有名称以A开头的行,但只有那些这是该组中最高级别的.因此树可能有9个级别,但包含名称以A开头的行的最高级别可能在级别7上,因此我希望级别7上的所有行都以A开头(忽略较低级别的行).我可以这样做:
select id, name, lvl
from my_table
where name like 'A%'
and lvl = (select max(lvl) from my_table
where name like 'A%')
Run Code Online (Sandbox Code Playgroud)
这个问题是我想要做一些比以A开头的行更复杂的事情,所以条件会有更多的子句,而select和subselect也会有一些连接,我不知道我想重复一遍自己.特别是因为我将来可能需要修改它,我担心我可能会忘记其中一个选项中的某个子句.
因此,有一种更简单的方法,无需重复选择,以获得最大级别.