嗨,我得到以下异常
线程"main"中的异常java.lang.ClassCastException:javax.mail.util.SharedByteArrayInputStream无法强制转换为javax.mail.Multipart
我在Eclipse IDE中没有得到任何编译异常,但是当我尝试构建项目时,我得到了这个异常.
在构建项目之后,我通过java -jar运行项目,因此它不满足if(内容实例的Multipart)条件,但是当我从Eclipse IDE运行时它工作正常.任何指针都会对我有很大帮助
从eclipse IDE我得到的是megssage.getContent()为javax.mail.internet.MimeMultipart@1dc0e7a但是当使用jar文件运行时我得到的内容为javax.mail.util.SharedByteArrayInputStream@2f0d54
请你告诉我他们之间有什么区别.
修改后的代码是:
InputStream inStream = null;
if(!message.getContentType().contains("text/plain")){
Object content = message.getContent();
if (message.isMimeType("multipart/*")) {
//message.isMimeType("multipart/*")||
Multipart multipart = (Multipart) content;
for (int j = 0; j < multipart.getCount(); j++) {
BodyPart bodyPart = multipart.getBodyPart(j);
inStream = bodyPart.getInputStream();
fileName=bodyPart.getFileName();
}
}
else{
System.out.println("content not instance of multipart");
}`enter code here`
Run Code Online (Sandbox Code Playgroud)
请任何人帮助我解决这个问题..
提前致谢...
我正在尝试将Morphia用于一个项目,但是在保存实体时遇到了一些麻烦。我发现实体定义有问题,因此尝试了他们网站上提供的定义,并抛出了此异常。我检查了mongo,一切似乎都很好。正在创建集合,并且似乎有记录。
我开始进行一个简单的JUnit测试,但它不会超越datastore.save(e):
package com.wtf.data;
import com.google.code.morphia.Datastore;
import com.google.code.morphia.Morphia;
import com.google.code.morphia.annotations.Entity;
import com.google.code.morphia.annotations.Id;
import com.google.code.morphia.emul.org.bson.types.ObjectId;
import com.mongodb.Mongo;
import org.junit.Test;
import java.net.UnknownHostException;
public class MorphiaTest {
@Entity
class MyEntity {
@Id
ObjectId id;
String name;
}
@Test
public void save() {
Mongo mongo = null;
try {
mongo = new Mongo("127.0.0.1", 27017);
} catch (UnknownHostException e) {
e.printStackTrace();
}
Morphia morphia = new Morphia();
morphia.map(MyEntity.class);
Datastore datastore = morphia.createDatastore(mongo, "MorphiaTest");
datastore.ensureIndexes();
MyEntity e = new MyEntity();
datastore.save(e);
}
}
Run Code Online (Sandbox Code Playgroud)
java.lang.RuntimeException:java.lang.ClassCastException:org.bson.types.ObjectId无法在com.google.code.morphia.mapping.EmbeddedMapper.fromDBObject(EmbeddedMapper.java:149)处转换为com.mongodb.DBObject …
我试图从linkedhashset中检索随机元素.下面是我的代码,但它每次都给我例外.
private static void generateRandomUserId(Set<String> userIdsSet) {
Random rand = new Random(System.currentTimeMillis());
String[] setArray = (String[]) userIdsSet.toArray();
for (int i = 0; i < 10; ++i) {
System.out.println(setArray[rand.nextInt(userIdsSet.size())]);
}
}
Run Code Online (Sandbox Code Playgroud)
以下是我得到的例外 -
java.lang.ClassCastException: [Ljava.lang.Object; incompatible with [Ljava.lang.String;
谁可以帮我这个事?还有更好的方法吗?
我在本地模式下运行风暴拓扑时遇到此错误。我有一个简单的程序来检查一个数是否为素数。我使用KafkaSpout作为源和风暴来处理它。Kafka 版本 2.10-0.8.2.1 风暴版本 0.9.4 zookeeper 3.4.6
下面是我检查素数的螺栓
public class PrimeNumberBolt extends BaseRichBolt
{
private static final long serialVersionUID = 1L;
private OutputCollector collector;
public void prepare( Map conf, TopologyContext context, OutputCollector collector )
{
this.collector = collector;
}
public void execute( Tuple tuple )
{
//System.out.println(tuple.getFields());
//System.out.println(tuple.getString(0));
String num = tuple.getString(0);
//int number = tuple.getInteger( 0 );
int number = Integer.parseInt(num);
//System.out.println("IN Primenumber bolt = "+number);
if( isPrime( number) )
{
System.out.println( number );
}
collector.ack( tuple …Run Code Online (Sandbox Code Playgroud) java multithreading classcastexception runtimeexception apache-storm
由于某种原因,我不知道为什么我的ComboBox不能在按钮上的情况.请帮忙:
码:
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class LocalBank implements ActionListener {
JFrame frame;
JPanel contentPane;
JLabel label1;
JLabel label2;
JLabel label3;
JTextField accNumber;
JTextField withdraw;
JTextField text3;
JButton avgButton;
JLabel average;
JComboBox plantNames;
JTextField firstname;
JTextField lastname;
JTextField beggining;
JButton submit;
JLabel accNumLabel;
JLabel withdawLabel;
JLabel firstnameLabel;
JLabel lastnameLabel;
JLabel begginingLabel;
public LocalBank() {
// TODO Auto-generated constructor stub
frame = new JFrame("Semiseter");
contentPane = new JPanel();
contentPane.setLayout(new BoxLayout(contentPane,BoxLayout.PAGE_AXIS));
contentPane.setBorder(BorderFactory.createEmptyBorder
(20, 20, 20, …Run Code Online (Sandbox Code Playgroud) 我想添加多个图像作为电子邮件的附件。因此,我正在尝试将 a 添加java.util.ArrayList到电子邮件中Intent。该列表包含android.net.Uri元素。但它抛出一个ClassCastException:
java.lang.ClassCastException: java.util.ArrayList cannot be cast to android.os.Parcelable
at android.os.Bundle.getParcelable(Bundle.java:792)
at android.content.Intent.getParcelableExtra(Intent.java:5377)
at android.content.Intent.migrateExtraStreamToClipData(Intent.java:8144)
at android.content.Intent.migrateExtraStreamToClipData(Intent.java:8124)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1505)
at android.app.Activity.startActivityForResult(Activity.java:3917)
at android.app.Activity.startActivityForResult(Activity.java:3877)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:843)
at android.app.Activity.startActivity(Activity.java:4200)
at android.app.Activity.startActivity(Activity.java:4168)
at de.zinnet.parkingoffenders.ParkingOffendersActivity.sendEmail(ParkingOffendersActivity.java:135)
at de.zinnet.parkingoffenders.ParkingOffendersActivity.onOptionsItemSelected(ParkingOffendersActivity.java:103)
at android.app.Activity.onMenuItemSelected(Activity.java:2908)
at android.support.v4.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:404)
Run Code Online (Sandbox Code Playgroud)
我尝试了不同类型的Intent. 我调用的方法来创建Intent和启动Activity:
private void sendEmail() {
ParkingOffendersListFragment fragment = (ParkingOffendersListFragment) getFragmentManager().findFragmentById(R.id.fragment_list);
Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.setType("text/plain");
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
String[] to = {settings.getString(getResources().getString(R.string.key_receiver_mail), "")};
emailIntent .putExtra(Intent.EXTRA_EMAIL, …Run Code Online (Sandbox Code Playgroud) 我刚刚在 OCA-Book(Oracle 认证助理)中读到:
“一些转换异常可以在编译时被检测为错误,但其他只能在运行时检测到”。
现在我试图为这两种情况找到一个例子:编译时和运行时。
考虑以下类结构:
class A {}
class B extends A {}
class C extends B {}
Run Code Online (Sandbox Code Playgroud)
以下演员表
Object o = new C();
B b = (B) o;
Run Code Online (Sandbox Code Playgroud)
是正确的。所以代码将在没有ClassCastException.
演员阵容
Object o = new B();
C c = (C) o;
Run Code Online (Sandbox Code Playgroud)
是错的。对象o至少是类型B; 所以它可以被强制转换为Bor A。
但是这可以在运行时或编译时检测到吗?我猜在编译时?!还是编译器只知道引用的类型,而不知道对象(内存中)本身的类型?如果这是真的,编译器无法在编译时决定转换是否正确。
感谢您的帮助!
我有以下内容 SQL Query :
SELECT COUNT(*) FROM DOG where ID = 'SampleId';
Run Code Online (Sandbox Code Playgroud)
我试着写这个java:
public int returnCountOfDogTable(String id){
String sql= "SELECT COUNT(*) FROM DOG WHERE ID =:id";
Query query = persistence.entityManager().createNativeQuery(sql);
query.setParameter("id", id);
List<Integer> resultList = query.getResultList();
int result = resultList.get(0);
return result;
}
Run Code Online (Sandbox Code Playgroud)
但是我得到了这个例外:
java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Integer
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
我试图设置2个框架布局的宽度和高度,这是2个片段的容器,它们都是线性布局的子代。
但是,每当我使用
frameLayout.setLayoutParams(new FrameLayout.LayoutParams(100,100);
Run Code Online (Sandbox Code Playgroud)
它导致类强制转换异常
java.lang.ClassCastException:android.widget.FrameLayout $ LayoutParams无法转换为android.widget.LinearLayout $ LayoutParams
android classcastexception android-linearlayout android-fragments android-framelayout
当应用程序从起点(启动活动、接收器)无法转换到我的应用程序时,我的崩溃率很少。
我的启动活动:
override fun onCreate(savedInstanceState: Bundle?) {
(application as MyApp)
...
}
Run Code Online (Sandbox Code Playgroud)
我的应用程序扩展了 MultiDexApplication:
public class MyApp extends MultiDexApplication {
...
Run Code Online (Sandbox Code Playgroud)
崩溃日志:
Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to com.my.myapp.MyApp
at com.my.myapp.prelogin.presentation.LaunchActivity.onCreate(LaunchActivity.kt:59)
at android.app.Activity.performCreate(Activity.java:6904)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3266)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
at android.app.ActivityThread.access$1100(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Run Code Online (Sandbox Code Playgroud)
我花了很多时间寻找这个问题,但找不到解决方案。我认为这是 android sdk 的问题。
ps 我的清单文件上有名称标签