小编MC *_*ror的帖子

在Java中获取包装类类型的简单方法

我有一段代码,我需要在方法中传递一个字段的类.由于我的代码的机制,我只能处理引用对象而不是基元.我想要一种简单的方法来确定一个Field类型是否是原始的,并用适当的包装类交换它.所以在代码中我到目前为止所做的是这样的:

Field f = getTheField(); // Dummy method that returns my Field
Class<?> c = f.getType();
if (c == int.class) {
    c = Integer.class;
}
else if (c == float.class) {
    c = Float.class;
}
// etc
myMethod(c);
Run Code Online (Sandbox Code Playgroud)

这工作正常,除了我需要显式检查所有基本类型并使用适当的包装类交换它们.现在我知道没有那么多原始类型,简单地列出它们就不会有问题,但我想知道是否有更简单,更优雅的方式.

java reflection wrapper

29
推荐指数
6
解决办法
2万
查看次数

递归禁用元素的所有子元素

这可能是一个是/否类型的问题.

我试图在jquery中绝对禁用元素的所有子元素.

打电话

$('#id_of_an_element').children().do(function(){
    do_something;
});
Run Code Online (Sandbox Code Playgroud)

递归地调用一个元素的所有子元素,或者只do_something对所有直接后代进行调用an_element

感谢帮助,

玩笑

jquery

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

如何删除:悬停?

我的脚本有一个小问题.
我希望对已:hover禁用Javascript的客户端进行默认操作,但对于启用了Javascript的客户,我想要另一个操作(实际上......同样的操作,但我想添加一个小的过渡效果).

那么......我怎么能这样做?我正在使用jQuery.

javascript jquery

27
推荐指数
3
解决办法
8万
查看次数

JFrame和JDialog有什么区别?

a JFrame和a有JDialog什么区别?

为什么我们不能setDefaultCloseOperation(JDialog.EXIT_ON_CLOSE);用于JDialog?

java swing jframe jdialog

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

什么"返回$ this"是什么意思?

我正在尝试理解这段代码,当我到达最后一行时,我没有得到它.:(

我可以帮助您找到答案,return $this意味着什么?

public function setOptions(array $options) {
    $methods = get_class_methods($this);
    foreach ($options as $key => $value) {
        $method = 'set' . ucfirst($key);
        if (in_array($method, $methods)) {
            $this->$method($value);
        }
    }

    //???? - return what ?
    return $this;
}
Run Code Online (Sandbox Code Playgroud)

更新:
我删除了我的评论,以便更好地澄清.

php oop zend-framework return

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

记录的私有规范构造函数

创建不可变的数据结构,我真的很喜欢 Scala 的概念,您可以使用案例类(具有私有规范构造函数)和伴随对象,以这种方式仅通过工厂方法强制对象实例化。

final case class Foo private(a: Int)

object Foo {
  def apply(left: Int, right: Int) = Foo(left + right)
}
Run Code Online (Sandbox Code Playgroud)

Java 14 中引入了记录的概念,提供了 Scala 的大部分案例类功能。然而,制作记录的规范构造函数private似乎有点麻烦......有没有办法用Java的记录实现相同的行为?

java scala record data-structures

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

为什么Integer.MAX_VALUE + 1 == Integer.MIN_VALUE?

System.out.println(Integer.MAX_VALUE + 1 == Integer.MIN_VALUE);

是真的.

我知道Java中的整数是32位,不能超过2 ^ 31-1,但我不明白为什么在MAX_VALUE中加1会导致MIN_VALUE而不是某种异常.没有像Ruby那样透明地转换为更大的类型.

是否在某处指定了此行为?我可以依靠它吗?

java integer integer-overflow twos-complement jls

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

为什么 Stream.Builder 有 add 和 accept 方法?

我正在使用 aStream.Builder并且我偶然发现这个接口同时具有方法accept(T t)add(T t). 唯一的区别是前者返回void,后者返回 a Stream.Builder

该文档甚至提到这些方法具有相同的默认实现:

默认实现的行为就像:

accept(t)
return this;
Run Code Online (Sandbox Code Playgroud)

请注意,他们忘记了分号,但那是另一回事了。

我的问题是:为什么他们有两种方法可以向流构建器添加内容?我认为这会使 API 变得混乱,我认为他们想避免这种情况

有什么令人信服的理由这样做吗?

java java-stream

25
推荐指数
1
解决办法
1180
查看次数

无法在父级或祖先上下文中找到方法

我一直在处理这个问题,并查看了我能找到的所有相关问题,例如:这一个,这一个,还有这一个.你能帮我纠正这个错误吗?它是logcat抛出的唯一一个.

java.lang.IllegalStateException: Could not find method playPauseMusic(View) in a parent or
ancestor Context for android:onClick attribute defined on view class
android.support.v7.widget.AppCompatImageButton with id 'playPause'
Run Code Online (Sandbox Code Playgroud)

相关代码:

radio.java

package com.example.jacob.wutk;

import android.media.AudioManager;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;

import java.io.IOException;

public class radio extends AppCompatActivity {

    /** Called when the user touches the button */

    public void playPauseMusic (View view, final ImageButton playPause) throws IOException {
        String url = "http://streamer.cci.utk.edu:8000/wutk-vorbis"; // your …
Run Code Online (Sandbox Code Playgroud)

java android illegalstateexception

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

Java中的自动装箱与手动装箱

为什么第二段代码更快?

Map<Integer, Double> map = new HashMap<Integer, Double>();
for (int i = 0; i < 50000; i++) {
    for (double j = 0.0; j < 10000; j++) {
        map.put(i, j);
    }
}

Map<Integer, Double> map=new HashMap<Integer, Double>();
for (int i = 0; i < 50000; i++) {
    for (double j = 0.0; j < 10000; j++) {            
        map.put(new Integer(i), new Double(j));
    }
}
Run Code Online (Sandbox Code Playgroud)

java autoboxing

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