小编erp*_*erp的帖子

BigDecimal.ZERO与新BigDecimal(0).使用哪个,为什么?

我想知道这两个是否相同.谁能验证?(我试图用第二个替换第一个)

BigDecimal totalCurrentSales = new BigDecimal(0);
Run Code Online (Sandbox Code Playgroud)

BigDecimal totalCurrentSales = BigDecimal.ZERO;
Run Code Online (Sandbox Code Playgroud)

我想问的原因是,它是不恰当的,第一种方式宣告它,因为你不应该创建已有的实例BigIntegerBigDecimal (ZERO, ONE, TEN).所以我想知道我是否可以说第二种方式,它仍然被认为是创建一个实例.而不是我必须创建一个变量zero或等于的变量BigDecimal.ZERO.或者还有其他方法吗?

我试过了

BigDecimal totalCurrentSales = new BigDecimal(BigDecimal.ZERO);
Run Code Online (Sandbox Code Playgroud)

但日食并不太快乐.

java bigdecimal

26
推荐指数
2
解决办法
4万
查看次数

杰克逊对多种类型的反序列化

我有一个抽象类Instance,然后两个实现,UserInstanceHardwareInstance.我遇到的问题是,当我将其余端点调用@POST到数据库中时,我理想地希望它.../rest/soexample/instance/create与实例传递到REST端点的位置相同.如果Instance不是带有多个实现的抽象,那就没问题了,但是因为我有2个,所以我得到了一个Jackson.databind错误.

"问题:抽象类型需要映射到具体类型,具有自定义反序列化器,或者使用其他类型信息进行实例化"

在找到解决方案之后我找到了一个SO答案,说我可以使用类似的东西:

@JsonDeserialize(as=UserInstance.class)

但是,如果有一个抽象类的实现,它似乎是非常有用的.假设我不能两次调用它,因为它无法确定它将是哪种类型的实例.

所以我想知道处理这种情况的最佳方法是什么?我应该创建不同的端点吗?喜欢:

.../rest/soexample/userinstance/create & .../rest/soexample/hardwareinstance/create

我不太确定,因为我是一个noobie @ REST相关的东西,虽然积极尝试学习.谢谢!

java rest json jackson deserialization

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

在按钮上仅水平和垂直居中图标(不是文本)

我在应用程序创建的底部有3个按钮,我只是尝试使用一些股票Android图标而不是文本或两者的组合.有andoid:drawableStart / top / bottom / etc命令,但我只是希望这些图标显示在中间.似乎没有简单的解决方案吗?这是我正在使用的:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/calm"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".PiktuurMain" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true" >

        <Button
            android:id="@+id/takepic"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/round" />

        <Button
            android:id="@+id/editpic"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:layout_marginRight="15dp"
            android:layout_weight="1"
            android:background="@drawable/round" />

        <Button
            android:id="@+id/sharepic"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/round"
            android:drawableStart="@android:drawable/ic_dialog_email" />
    </LinearLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

xml android

10
推荐指数
2
解决办法
7951
查看次数

OnClick for Floating Action Button

我是新手使用浮动操作按钮并试图获得一些今天工作的基本功能.目前,我仍然坚持让onClick功能发挥作用.我从googles FAB基本示例中提取了大部分代码,并且在那里它有一个onChecked方法,它将一个字符串发送到记录器以显示您已经单击它.

@Override
public void onCheckedChanged(FloatingActionButton fabView, boolean isChecked) {
    // When a FAB is toggled, log the action.

    switch (fabView.getId()){
        case R.id.fab_1:
            break;
        default:
            break;
    }
}
Run Code Online (Sandbox Code Playgroud)

我以为我能够替换那里的功能,但没有任何影响.因此,我尝试onClickListener使用任何其他按钮创建,但也没有任何影响.我不确定如何继续,因为这两个选项都没有用.我的目标只是在单击浮动操作按钮时生成对话框,但是现在我只是尝试使用占位符警告对话框.

这是FloatingActionButtonFragment类:

public class FloatingActionButtonFragment extends Fragment implements FloatingActionButton.OnCheckedChangeListener {


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View rootView = inflater.inflate(R.layout.fab_layout, container, false);

        // Make this {@link Fragment} listen for changes in both FABs.
        FloatingActionButton fab1 …
Run Code Online (Sandbox Code Playgroud)

android

9
推荐指数
2
解决办法
7万
查看次数

编辑Moonrise Theme中的Tab字体

我现在正在弄乱日食的ui,发现这里有月亮主题

https://github.com/guari/eclipse-ui-theme/blob/master/README.md

.我比黑暗的juno更喜欢它,而那些真的是我发现的唯一2个.所以主题很棒,除了标签字体之外的所有字体都有点......我猜想不是我.我读到如何更改它是从jar文件中提取后进入CSS文件,但之后我不知道如何将这些东西再次保存为jar文件并将其放回eclipse dropins文件夹中.

谢谢!

eclipse user-interface themes

5
推荐指数
1
解决办法
1875
查看次数

ObjectMapper附加文件JSON

试图了解Jackson的一些知识,因此我正在编写一个简单的程序来读取文件/创建一个文件以在其中存储一些JSON。从Jackson网站上,我想出了如何从文件中读取和写入文件,但是对于我的基本程序,我也想附加一下。我基本上是想存储购物清单清单。有一个购物清单对象,其中包含商店名称,该商店的amd项目。

问题是我无法找到将另一个条目附加到文件末尾(JSON格式)的方法。到目前为止,这是我正在使用的工具,您可以忽略的第一部分只是一个愚蠢的控制台扫描程序,要求输入:

    public class JacksonExample {

    static ObjectMapper mapper = new ObjectMapper();
    static File file = new File("C:/Users/stephen.protzman/Desktop/user.json");
    static List<ShoppingList> master = new ArrayList<ShoppingList>();

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        boolean running = true;
        while (running) {
            System.out.println("[ 1 ] Add a new shopping list");
            System.out.println("[ 2 ] View all shopping lists");
            System.out.println("[ 3 ] Save all shopping lists");
            int choice = Integer.parseInt(in.nextLine());
            switch (choice) {
            case 1:
                getNewList();
            case 2:
                display();
            case 3:
                running …
Run Code Online (Sandbox Code Playgroud)

java io json file jackson

5
推荐指数
2
解决办法
6836
查看次数

根据大小值为每个阳光的弧度着色

我正在与NVD3合作制作一张旭日形图.我是D3的新手,因此我使用NVD3来抽象一些更复杂的东西.现在我正在使用我从网上获得的一个简单示例,但我正在尝试根据sizeJSON中的属性为节点(弧)着色.我知道NVD3可以选择color在图表选项中使用一个函数,所以这就是我尝试使用的方式:

chart: {
      type: 'sunburstChart',
      height: 450,
      color: function(d) {
        if (d.size > 3000) {
          return "red";
        } else if (d.size <= 3000) {
          return "green";
        } else {
          return "gray";
        }
      },
      duration: 250
    }
Run Code Online (Sandbox Code Playgroud)

但正如你所看到的那样,我正在研究的那个结果只是灰色,因为它实际上并没有得到一个值d.size(它只是未定义,我不知道为什么).

使用我试图避免的常规D3,我可以得到这样的愿望结果:

  var path = g.append("path")
               .attr("class","myArc")
               .attr("d", arc)
               .attr("name",function(d){return "path Arc name " + d.name;})
               .style("fill", function(d) {
                 if(d.size > 3000) {
                   return "green";
                 } else  if( d.size < 3000){
                   return "red";
                 } else { …
Run Code Online (Sandbox Code Playgroud)

javascript d3.js nvd3.js

5
推荐指数
1
解决办法
863
查看次数

使用分页AngularJs进行复合过滤

在我正在进行的角度应用程序中,我正在尝试将复合过滤与分页结合使用.将有一个带有x条目的表,每行有三列.我在每列上面都有一个输入,用户可以根据输入文本过滤列.过滤器复合以将结果缩小到最佳 - 但在我的用例中,仍然可能在一个页面上显示太多,因此我尝试使用分页.

表体看起来像这样:

  <tbody>
    <tr>
      <td class="col-md-4">
        <input type="text" ng-model="nameFilter" class="form-control" placeholder="Name">
      </td>
      <td class="col-md-4">
        <input type="text" ng-model="ageFilter" class="form-control" placeholder="Age">
      </td>
      <td class="col-md-4">
        <input type="text" ng-model="stateFilter" class="form-control" placeholder="State">
      </td>
    </tr>
    <tr data-ng-repeat="person in people | filter:{'name': nameFilter} | filter:{'age':ageFilter} | filter:{'state':stateFilter} | limitTo: itemsPerPage">
      <td class="col-md-4">{{person.name}}</td>
      <td class="col-md-4">{{person.age}}</td>
      <td class="col-md-4">{{person.state}}</td>
    </tr>
  </tbody>
Run Code Online (Sandbox Code Playgroud)

我所遇到的棘手部分是让分页符合所应用的过滤器.我见过这样一个例子,作者在一个单一的搜索字段上使用$ watch并且仍然可以管理分页.我也看到通过研究$watchCollection可以使用,但我不知道如何实现它.

$scope.$watchCollection('[nameFilter, ageFilter, stateFilter]', function(newValues) {
      //not sure what to do here.
      console.debug(newValues);

      $scope.filtered = '';; //really it …
Run Code Online (Sandbox Code Playgroud)

javascript pagination angularjs

5
推荐指数
1
解决办法
249
查看次数

React 的 GET 上的 Axios 回调

我试图在 axios get 请求正在进行时显示一个加载微调器,为此我相信我需要从请求中回调。componentDidMount()我这样调用 get 请求:

componentDidMount() {
  this.props.fetchCloudProperties( () => {
    this.setState( { dim : false } );
  } );
}
Run Code Online (Sandbox Code Playgroud)

希望当检索数据时,调光器(旋转器)将根据该调用而消失seState。我已经用帖子进行了回调,但从未用 get 进行过回调。我对数据的获取操作是:

export function fetchCloudProperties( callback ) {
  const VARIABLE_URL = '/cloud/properties';
  const request      = axios.get( `${ROOT_URL}${VARIABLE_URL}` )
    .then( request => {
      return ({
        type    : FETCH_CPS,
        payload : request
      });
    } ).catch( ( error ) => {
      console.log( error );
    } )
}
Run Code Online (Sandbox Code Playgroud)

现在控制台抱怨“动作必须是普通对象”,我不确定这意味着什么,但我也看到它抱怨“未处理的拒绝”,所以不太确定。

编辑:我有一个createCloudProperty使用回调的方法,它工作正常:

export function createCloudProperty( values, …
Run Code Online (Sandbox Code Playgroud)

reactjs axios

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

为 alertDialog 设置内容视图

如果它有两个 textEdit,则处理一个对话框以在其中弹出该对话框。我想从提交时的文本编辑中获取信息,但不知道如何。我也不知道如何为普通对话框执行提交或取消按钮(我知道您可以在带有“setNegativeButton”的 alertDialog 上)。

那么如何向常规对话框添加提交或取消?到目前为止,这就是我正在使用的:

public void changeEmail(View v){

    Dialog dialog =  new Dialog(this);
    dialog.setContentView(R.layout.change_email_dialog);
    dialog.setTitle("Enter your new email");
    dialog.show();


}
Run Code Online (Sandbox Code Playgroud)

我想我也想知道是否有人可以快速解释我如何从对话框使用的布局内的两个文本编辑中获取信息?

android android-layout android-alertdialog

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