小编rau*_*ach的帖子

继承和递归

假设我们有以下类:

class A {

    void recursive(int i) {
        System.out.println("A.recursive(" + i + ")");
        if (i > 0) {
            recursive(i - 1);
        }
    }

}

class B extends A {

    void recursive(int i) {
        System.out.println("B.recursive(" + i + ")");
        super.recursive(i + 1);
    }

}
Run Code Online (Sandbox Code Playgroud)

现在让我们recursive在A班打电话:

public class Demo {

    public static void main(String[] args) {
        A a = new A();
        a.recursive(10);
    }

}
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,输出从10减少.

A.recursive(10)
A.recursive(9)
A.recursive(8)
A.recursive(7)
A.recursive(6)
A.recursive(5)
A.recursive(4)
A.recursive(3)
A.recursive(2)
A.recursive(1)
A.recursive(0)
Run Code Online (Sandbox Code Playgroud)

让我们来看看令人困惑的部分.现在我们打电话给recursiveB班.

预期 …

java recursion inheritance

84
推荐指数
6
解决办法
4391
查看次数

什么是jftfdi jffi对我的查询字符串做什么?

我们在项目中使用JavaServer Faces 2.2(Mojarra 2.2.1).我注意到一些奇怪的事 在reporting.xhtml我使用f:metadataf:viewAction浏览器的页面上,在这种情况下,Safari显示以下查询字符串:

reporting.jsf?jftfdi=&jffi=reporting%3Ffaces-redirect%3Dtrue
Run Code Online (Sandbox Code Playgroud)

这是什么巫术?jftfdi和jiffi做的参数是什么?他们的目的是什么?

jsf jsf-2 jsf-2.2

7
推荐指数
1
解决办法
1353
查看次数

为什么fwrite为uint8_t写两个字节?

在C中不是很熟练.这可能只是一个新手问题.

我试图写3个字节到文件,但最终得到4.

#include <stdio.h>
#include <stdlib.h>

struct a {
  uint8_t x;
  uint16_t y;
};

int main()
{
  struct a record = { 1, 2 };
  FILE *fp = fopen("example.bin", "w");
  fwrite(&record, sizeof(struct a), 1, fp);
  fclose(fp);
}
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我最终得到:

$ hexdump -C example.bin
00000000  01 00 02 00                                       |....|
00000004
Run Code Online (Sandbox Code Playgroud)

我在期待:01 02 00.

这是我的c编译器的版本,以防这是与硬件/编译器相关的.

$ cc --version
Apple LLVM version 9.1.0 (clang-902.0.39.1)
Target: x86_64-apple-darwin17.5.0
Thread model: posix
Run Code Online (Sandbox Code Playgroud)

c binary posix

2
推荐指数
1
解决办法
198
查看次数

UIInput 和 UICommand 的自定义组件

在处理 JSF 自定义组件时有点卡住了。如果有人能给我一个开端,那就太好了。

这个想法是有一个组件,让我通过一个LocalDate. 想一个更简单的日期选择器。呈现的 HTML 有两个按钮,一个将日期增加一天,另一个按钮将日期减少一天。值本身存储在一个输入隐藏中。附件是组件的一个简单版本,它不起作用,但希望能描述我想要实现的目标。

这个想法是<my:datePager value="#{myBackingBean.someDate}" />在页面上说并在单击任一按钮之一后执行一些逻辑/操作。

例如<my:datePager value="#{myBackingBean.someDate} action="..." /><my:datePager value="#{myBackingBean.someDate} previous="..." next="..."/>不知道什么更好。

这是我遇到的问题:如何调用组件上的previousnext方法?

到目前为止,这是我的 JSF 2.3 自定义组件:

@FacesComponent(LocalDatePager.COMPONENT_TYPE)
public class LocalDatePager extends UIInput {

    public static final String COMPONENT_TYPE = "LocalDatePager";

    public LocalDatePager() {
        setConverter(LocalDateConverter.INSTANCE);
    }

    public void previous() {
        LocalDate localDate = (LocalDate) getValue();
        localDate = localDate.minusDays(1);
        setValue(localDate);
    }

    public void next() {
        LocalDate localDate = (LocalDate) getValue();
        localDate = localDate.plusDays(1); …
Run Code Online (Sandbox Code Playgroud)

jsf custom-component

2
推荐指数
1
解决办法
68
查看次数

标签 统计

jsf ×2

binary ×1

c ×1

custom-component ×1

inheritance ×1

java ×1

jsf-2 ×1

jsf-2.2 ×1

posix ×1

recursion ×1