标签: classcastexception

如何禁用AlertDialog内的按钮?

我想AlertDialog用3个按钮写一个.如果不满足某个条件,我希望禁用中间的中性按钮.

int playerint = settings.getPlayerInt();
int monsterint = settings.getMonsterInt();



        AlertDialog.Builder alertbox = new AlertDialog.Builder(this);
        alertbox.setMessage("You have Encountered a Monster");

        alertbox.setPositiveButton("Fight!",
                new DialogInterface.OnClickListener() {

                    // do something when the button is clicked
                    public void onClick(DialogInterface arg0, int arg1) {
                        createMonster();
                        fight();

                    }
                });

        alertbox.setNeutralButton("Try to Outwit",
                new DialogInterface.OnClickListener() {

                    // do something when the button is clicked
                    public void onClick(DialogInterface arg0, int arg1) {
                        // This should not be static
//                      createTrivia();
                        trivia();

                    }
                });

        // Return to …
Run Code Online (Sandbox Code Playgroud)

java android classcastexception android-alertdialog

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

反射IllegalArgumentException导致

更新 - 使问题更清楚.

在通过反射调用方法时获取ClassCastException的可能原因是什么?

在尝试通过反射调用方法时,我将以下stacktrace作为我的应用程序的一部分.

java.lang.IllegalArgumentException: java.lang.ClassCastException@21fea1fv
    at sun.reflect.GeneratedMethodAccessor332.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com..... 
    (remaining is my method stack trace)
Run Code Online (Sandbox Code Playgroud)

我尝试了一个示例类,并将不同类型的各种参数传递给它,但我总是得到一个这个例外.

java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
Run Code Online (Sandbox Code Playgroud)

更新 - 这是我为尝试重新创建异常而编写的示例代码

用于创建代理类的接口

package my.tests;

public interface ReflectionsInterface { 
    public abstract void doSomething();
}
Run Code Online (Sandbox Code Playgroud)

这是测试类

package my.tests;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

public class Reflections implements ReflectionsInterface {

    public static void main(String[] args) {
        Reflections reflections = new Reflections();
        ReflectionsInterface reflectionsProxy = …
Run Code Online (Sandbox Code Playgroud)

java reflection classcastexception illegalargumentexception

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

java.lang.ClassCastException:android.os.BinderProxy无法强制转换为LocalBinder

我有一个Service我试图绑定到我的主要Activity,但我收到了

java.lang.ClassCastException:android.os.BinderProxy无法强制转换为com.walintukai.rubix.ConnectionService $ LocalBinder.

我已在我的清单中声明了该服务.为什么会这样?

宣言宣言

<service android:name=".ConnectionService" />
Run Code Online (Sandbox Code Playgroud)

服务(简化代码)

public class ConnectionService extends Service {

static final String TAG = ConnectionService.class.getName();

private BluetoothAdapter mBtAdapter = null;
public BluetoothGatt mBluetoothGatt = null;
private ConnectionServiceEventListener mIRedBearServiceEventListener;
HashMap<String, BluetoothDevice> mDevices = null;
private BluetoothGattCharacteristic txCharc = null;
private final IBinder mBinder = new LocalBinder();

@Override
public IBinder onBind(Intent intent) {
    return mBinder;
}

public class LocalBinder extends Binder {
    public ConnectionService getService() {
        return ConnectionService.this;
    }
} …
Run Code Online (Sandbox Code Playgroud)

android classcastexception android-service android-service-binding

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

关于不兼容的强制转换没有编译器错误

很抱歉,如果已经解释过,但我没有在网络中的任何地方找到类似的线程.

今天我在IDE中打开了一个项目类并看到了一个错误(红色下划线),尽管项目编译成功.

所以,代码是:

public interface DatasourceImplementation<T extends Entity> {
     ....
}

public interface Datasource<T extends Entity> {
     ....
}


public interface DsContext {
    @Nullable
    <T extends Datasource> T get(String name);
}
Run Code Online (Sandbox Code Playgroud)

现在我们将这种方法称为:

DatasourceImplementation dsImpl = getDsContext().get("dsName");
Run Code Online (Sandbox Code Playgroud)

Idea13给了我错误(不兼容的类型) - 我认为这是正确的.

Idea14在此处未显示任何错误.

JDK编译它没有错误 - 这很难过.

必须说,在我们的A接口的项目实现类中总是实现B接口(可能解释为什么Idea14说它没关系),但在我看来这不能证明这种行为是正确的 - 因为通常我可以创建实现A的类并且不会实现B.我想在我的代码中使用静态典型化,我不希望看到运行时类转换异常.

那么,谁在这里错了?

UPD.添加真实类的屏幕截图(不确定它会解释更多内容,它与我描述的相同)

在此输入图像描述

java generics classcastexception java-7

10
推荐指数
1
解决办法
373
查看次数

Spark中的Access Array列

Spark DataFrame包含Array [Double]类型的列.当我尝试在map()函数中将其返回时,它会抛出一个ClassCastException异常.以下Scala代码生成异常.

case class Dummy( x:Array[Double] )
val df = sqlContext.createDataFrame(Seq(Dummy(Array(1,2,3))))
val s = df.map( r => {
   val arr:Array[Double] = r.getAs[Array[Double]]("x")
   arr.sum
})
s.foreach(println)
Run Code Online (Sandbox Code Playgroud)

例外是

java.lang.ClassCastException: scala.collection.mutable.WrappedArray$ofRef cannot be cast to [D
    at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$anonfun$1.apply(<console>:24)
    at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$anonfun$1.apply(<console>:23)
    at scala.collection.Iterator$$anon$11.next(Iterator.scala:328)
    at scala.collection.Iterator$class.foreach(Iterator.scala:727)
    at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
    at org.apache.spark.rdd.RDD$$anonfun$foreach$1$$anonfun$apply$28.apply(RDD.scala:890)
    at org.apache.spark.rdd.RDD$$anonfun$foreach$1$$anonfun$apply$28.apply(RDD.scala:890)
    at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1848)
    at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1848)
    at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:66)
    at org.apache.spark.scheduler.Task.run(Task.scala:88)
    at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:214)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)

Cam有人解释我为什么不起作用?我该怎么做呢?我使用Spark 1.5.1和scala 2.10.6

谢谢

arrays scala classcastexception apache-spark apache-spark-sql

10
推荐指数
1
解决办法
6296
查看次数

Kafka:ClassCastException:类 org.apache.avro.generic.GenericData$Record 无法转换为类

当尝试将 record.value() 转换为 java 对象时,我在消费者中遇到了这个异常:

ClassCastException: class org.apache.avro.generic.GenericData$Record cannot be cast  to class [...].PublicActivityRecord (org.apache.avro.generic.GenericData$Record and [...].PublicActivityRecord are in unnamed module of loader 'app')
Run Code Online (Sandbox Code Playgroud)

生产者发送 java 对象,它是一个名为 的用户定义类型,如下所示PublicActivityRecord

ClassCastException: class org.apache.avro.generic.GenericData$Record cannot be cast  to class [...].PublicActivityRecord (org.apache.avro.generic.GenericData$Record and [...].PublicActivityRecord are in unnamed module of loader 'app')
Run Code Online (Sandbox Code Playgroud)

此时我可以在调试模式下看到 的值ProducerRecord确实是类型PublicActivityRecord

在注册表服务器上,我可以在日志中看到发送模式的生产者的 POST 请求:

Registering new schema: subject DEV-INF_9325_activityRecord_01-value, version null, id null, type null, schema size 7294 (io.confluent.kafka.schemaregistry.rest.resources.SubjectVersionsResource:262)
[2022-01-28 07:01:35,575] INFO 192.168.36.30 - - [28/janv./2022:06:01:34 …
Run Code Online (Sandbox Code Playgroud)

java classcastexception avro apache-kafka confluent-schema-registry

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

在 Eclipse 中停止 Tomcat 10 时出现 ClassCastException

我正在使用 Eclipse 2022-06 和 Tomcat 10.0.10。

通常,当关闭 Eclipse 中运行的 Tomcat 时,我会得到

WARNUNG: Failed to clear soft references from ObjectStreamClass$Caches for web application [ROOT]
java.lang.ClassCastException: class java.io.ObjectStreamClass$Caches$1 cannot be cast to class java.util.Map (java.io.ObjectStreamClass$Caches$1 and java.util.Map are in module java.base of loader 'bootstrap')
    at org.apache.catalina.loader.WebappClassLoaderBase.clearCache(WebappClassLoaderBase.java:2363)
Run Code Online (Sandbox Code Playgroud)

...

我发现了这个问题,但它并不真正适用:它是一个不同的类(映射而不是字符串),并且我找不到名为“SESSIONS.ser”的文件。我还已经从实际的 Web 服务部分中删除了所有内容(因此代码什么也不做)。我只是还没有开始删除所有可能自动加载的链接的 jar 文件。

有没有办法找出哪个类真正导致了问题?

顺便说一句,如果通过将 WAR 文件部署到 Eclipse 外部的 Tomcat 安装中,我无法重现日志中的错误。我不确定这是否意味着它没有出现。

java tomcat classcastexception

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

在main.xml中更改了顺序,现在我得到了ClassCastException

使用eclipse和Android SDK,我使用Button和ProgressBar管理了一个简单的测试应用程序.所有运行良好,但我我以前不想要的进度移动的按钮,当进度已变得可见,所以只是为了测试我改变了他们在res /布局/ main.xml中文件中定义(它使用的顺序LinearLayout中).编译并运行我然后在下面的"final ProgressBar ..."行中获得ClassCastException.

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    /* 01-06 14:37:39.590: E/AndroidRuntime(863): java.lang.RuntimeException: 
       java.lang.ClassCastException: android.widget.Button cannot be cast to
       android.widget.ProgressBar */
    final ProgressBar progressbar = (ProgressBar) findViewById(R.id.progressBar1); /* here */
    progressbar.setVisibility(ProgressBar.GONE);

    final Button exebutton = (Button)findViewById(R.id.button1);
    exebutton.setOnClickListener(new View.OnClickListener()
    // etc...
Run Code Online (Sandbox Code Playgroud)

现在,我理解ClasCastException的含义和含义,我只是不明白为什么会出现.我不是试图将Button转换为ProgressBar.我不明白......

android classcastexception

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

致命异常:无法将字符串强制转换为Spannable

除少数设备外,我的应用程序工作得很好.在一台这样的设备上,我在我的一项活动中获得了致命的异常.错误是java.lang.ClassCastException:java.lang.String无法强制转换为android.text.Spannable ...... 在android.widget.TextView.setEnabled(TextView.java:1432)

堆栈跟踪

05-02 09:18:19.917: E/AndroidRuntime(20587): FATAL EXCEPTION: main
05-02 09:18:19.917: E/AndroidRuntime(20587): java.lang.ClassCastException: java.lang.String cannot be cast to android.text.Spannable
05-02 09:18:19.917: E/AndroidRuntime(20587):    at android.widget.TextView.setEnabled(TextView.java:1432)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at com.myapp.android.menu.LoginFragment.checkIfAnyFieldIsEmpty(LoginFragment.java:512)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at com.myapp.android.menu.LoginFragment.onCreateView(LoginFragment.java:183)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at android.support.v4.app.Fragment.performCreateView(Fragment.java:1460)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:911)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:429)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at android.os.Handler.handleCallback(Handler.java:615)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at android.os.Handler.dispatchMessage(Handler.java:92)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at …
Run Code Online (Sandbox Code Playgroud)

crash android classcastexception

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

尝试在自定义对象数组上执行readParcelable时出现ClassCastException

我正在尝试实现Parcelable而不是Serializble,因为它应该更高效.从我的MainActivity我想将Message对象传递给另一个activity,我的类Message包含其他类.如果我越过这一个错误,我确信我会遇到更多的错误,但是现在当我尝试运行我的应用程序时,我得到了

这是我的Message-class:

import java.util.ArrayList;

import android.os.Parcel;
import android.os.Parcelable;

public class Message implements Parcelable {

    int id;
    int space_id;
    String text;
    String html;
    String created_at;
    int[] comments;
    boolean is_liked;
    int[] liked_by;
    int[] starred_by;
    boolean is_starred;
    boolean is_followed;
    int[] followed_by;
    ArrayList<AttachmentsData> attachments;
    String url;
    int[] tags;
    boolean is_system;

    public User created_by;
    public Permissions persmissions;
    public Embed embed;
    public Tokens[] tokens;


    /** Parcelable **/
    public Message(Parcel in) {
        readFromParcel(in);
    }

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, …
Run Code Online (Sandbox Code Playgroud)

arrays android classcastexception parcelable

9
推荐指数
1
解决办法
9390
查看次数