在Java中是否可以通过其名称获取类属性值?例如,我喜欢上课
public class Test {
private String field;
public String getField() {...}
public void setField() {...}
}
Run Code Online (Sandbox Code Playgroud)
另一个有Map的课程
public class Main {
private static final Map<String, Long> map = new HashMap<String, Long>();
static {
map.put("field", new Long(1));
}
public void doSth() {
Set<String> keys = map.keySet();
Test t = new Test();
for (String key : keys) {
//t.getPropertyValueByName(key); ?
}
}
Run Code Online (Sandbox Code Playgroud) 我需要在file.txt本地和Git中使用不同的内容.我希望Git不要告诉我该文件有变化.
这可能吗?
我正在尝试使用gradle 1.7,jetty 9.2和intellij IDEA 13设置简单的webapp.
这里是我正在使用的教程中的一些典型的gradle构建配置行:
apply plugin: 'jetty'
sourceCompatibility = 1.5
version = '1.1'
repositories {
mavenCentral()
}
dependencies {
providedCompile 'javax.servlet:servlet-api:2.5'
// other dependencies
}
Run Code Online (Sandbox Code Playgroud)
在IDEA中启动的配置是Edit Configurations...->Add->Gradle,任务是jettyRun.对于第一次运行一切正常,jetty启动,webapp可在浏览器中使用.但是如果我在gradle.build文件中更改某些内容并重新运行该任务,则会发生以下错误:
A problem occurred configuring root project 'gr3'.
Could not open buildscript class cache for build file 'D:\Work\priv\gr3\build.gradle' (C:\Users\Sazankov_LY\.gradle\caches\1.7\scripts\build_546r8n6d85n2abfbi95h2qqmh4\ProjectScript\buildscript).
Timeout waiting to lock buildscript class cache for build file 'D:\Work\priv\gr3\build.gradle' (C:\Users\Sazankov_LY\.gradle\caches\1.7\scripts\build_546r8n6d85n2abfbi95h2qqmh4\ProjectScript\buildscript). It is currently in use by another Gradle instance.
Owner PID: unknown
Our PID: 11948 …Run Code Online (Sandbox Code Playgroud) 我刚接触spring mvc,之前我通过root软件包名称"localhost/spring"访问了主页,我无法找到我发生了什么更改,我收到了这个错误.web.xml中:
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
主页控制器
@Controller
public class HomeController {
private UserServiceImpl userService;
@Inject
public HomeController(UserServiceImpl userService)
{
this.userService = userService;
}
@RequestMapping(value="/")
public String home(Model model) {
System.out.println("Sdfsd");
model.addAttribute("users", userService.getUsers());
return "home";
}
}
Run Code Online (Sandbox Code Playgroud)
servlet的context.xml中:
<annotation-driven />
<resources mapping="/resources/**" location="/resources/" />
<context:component-scan base-package="by.mvc.dao" />
<beans:bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<beans:property name="driverClassName" value="org.hsqldb.jdbcDriver" />
<beans:property name="url" value="jdbc:hsqldb:hsql://localhost/user_db" />
<beans:property name="username" value="root" />
<beans:property name="password" value="root" />
<beans:property name="initialSize" value="5" />
<beans:property …Run Code Online (Sandbox Code Playgroud) 在调试模式下执行期间有没有办法从当前步骤返回而不是停止应用程序?我看到这就像调试器应该return在按下"退出按钮"时插入语句.
这种行为的主要用途是快速响应重构或重写长方法; 当你想测试它的第一部分而不是在它结束时触发save\update\delete动作时.
问题主要涉及Intellij,但其他IDE的体验也很有趣.
C中的简单堆栈实现:
struct Stack {
char* data;
Stack* prev;
};
void push(char* data, Stack** stack) {
Stack* node = (Stack*)malloc(sizeof(Stack));
node->data = data;
node->prev = *stack;
*stack = node;
}
int main() {
Stack* top = NULL;
push("1", &top);
push("2", &top);
push("3", &top);
}
Run Code Online (Sandbox Code Playgroud)
然后top->prev->prev->data结果3与top->prev->data和相同top->data.
谁能解释为什么?
java ×4
breakpoints ×1
c ×1
debugging ×1
git ×1
gradle ×1
jetty ×1
mapping ×1
object ×1
pointers ×1
properties ×1
spring-mvc ×1
stack ×1