A recipe for writing equals method: use getClass() or instanceof?

Hello

At page 195 of the Core Java: volume 1, basic principles, 8th edition, there is a recipe for writing
the method equals perfect. Section 4 says:

Compare classes of this and otherObject. If the semantics of equals flexible in
subclasses, use getClass test:

if (getClass() != otherObject.getClass()) return false;
If it has the same semantics for all subclasses, you can use an instanceof test:

if (!(otherObject instanceof ClassName)) return false;
My question is what it means by "If equals flexible semantics in.
subclasses?

Thank you in advance for your help!

Eric

Glad to be of assistance.

Tags: Java

Similar Questions

  • What is the MTBF method, used for the cRIO 9012, is the method of counting of Telcordia under what conditions?

    What is the MTBF method, used for the cRIO 9012, is the method of counting of Telcordia under what conditions? (Temperature, humidity, etc.)

    Hi jojosalud,

    According to the specifications for the cRIO-9012, the MTBF is 330 481 hours at 25 ° C; Question of Bellcore level II.

    Kind regards

  • Method to check the VISA resources is ready for writing.

    Dear Forum, I have a piece of equipment that I connect to LabView via serial. The companion of the Instrument is of course completely useless, which fails for inexplicable reasons, but everything works perfectly in hyperterminal.

    When I try to adapt the example "basic series write and Read.vi" at my request, the implementation is very simple. However, it does not work despite working in hyperterminal. After a bit of investigation, I have determined that the problem is that after "VISA set up Serial Port" port is not * actually * available for writing quite yet, most likely because it is a very old computer.

    By inserting a delay between the "VISA set up Serial Port" and the "VISA Write" I am able to get the program works as expected 100% of the time. However, it is a very bad solution, because this long delay can be totally useless and performance on the computer to an end user (which may be much better than this one). Especially because this piece of equipment has 8 analog inputs, 8 analog outputs, 4 relay, 20 outputs 24VDC, 8 DIOs and 3 ports RS232 passthrough so it communicates a lot of data.

    Is there a function I can use to * guarantee * that the COM port is really ready for writing? If I could do this, then it can return almost immediately on a fast computer, while leaving enough time for computers slower finish opening the port. It may well be something that happens on the side of the pilot of the command windows open port.

    It comes to LabView 8.20 running on a Windows XP in VirtualBox on Linux host. Please don't just tell me that I shouldn't use virtualized Windows, I am sure that this problem occurs for the disabled of old material as well as it is the only significant in terms of series API difference. The virtualized instance is only likely to be more slow material dealing with than it would be otherwise.

    You can get information on the creation of an Instrument Driver Networkdriver.

    If your instrument does not return an ID and you can not do a reset, then obviously your initialize function would not code for this. Having the code that defines the instrument on certain default configuration is common.

    I don't know how this driver is intended to be used. Do you want that he NOR certified. The driver needs to be distributed outside of your company? It seems that the problem with your com port is unique to your pc and the installation program. How many times this would appear to other users?

  • Can we still use NOT_SUPPORTED and supported for any request method?

    Hi all

    Because the database selection didn't need a transaction (Please correct me if that's wrong), define the level of transaction "NOT supported" or "Supported" for all of these methods that question only something database?

    Maybe these methods will be called in other in a transaction, so "NEVER" cannot be used.

    My question is: is there a reason to get a transaction for methods without any insert/update of database?

    Say there are three beans as below:

    @Stateless
    @TransactionManagement (TransactionManagementType.CONTAINER)
    / public class InsertBean implements {Insert}
    @Override
    @TransactionAttribute (TransactionAttributeType.REQUIRED)
    {} public void createUsers (< user > list of users)
    INSERT INTO user WHERE...
    }
    }

    @Stateless
    @TransactionManagement (TransactionManagementType.CONTAINER)
    / public class QueryBean implements Query {}
    @Override
    @TransactionAttribute (TransactionAttributeType.NOT_SUPPORTED)
    public int getUserNumber() {}
    SELECT COUNT (*) FROM user
    }
    }

    @Stateless
    @TransactionManagement (TransactionManagementType.CONTAINER)
    / public class UpdateBean implements {update
    @Override
    @TransactionAttribute (TransactionAttributeType.REQUIRED)
    {} public void updateUsers (list < user > users)
    UPDATE user SET logindate = xxx WHERE...
    }
    }

    Insert and update requires a transaction and not the query. If there is a method of bean called as:

    InsertBean.createUsers (users);
    int n = QueryBean.getUserNumber ();
    UpdateBean.updateUsers (users);

    In this case, that the level of transactions for getUserNumber() request method must not be 'NEVER', only 'SUPPORTED' or 'NOT_SUPPROTED' is reasonable. But 'NOT_SUPPORTED' is more effective. So can I use level 'NOT_SUPPORTED' for all methods of query?

    If sometimes the query method must be in a transaction could you share?

    Thanks in advance.

    When the query is running for a long time and you who call inside the transaction, the transaction may time out.
    In this case you would go non-supported, so that this transaction manager can take the action when the method
    is called within a transaction. Otherwise it does not really matter.

  • Equal method and ArrayList Testing

    Hello world

    Here is an example of program...

    List ListOB1 = new ArrayList();
    listOB1.add (100);
    listOB1.add (200);
    Integer intOB1 = new Integer (200);

    for (Object o: listOB1) {}
    If (OB. Equals (intOB1))
    System.out.println ("Hi... Elements is: - > "+ ob);
    on the other
    System.out.println ("elements is: - >" + ob);
    }

    It shows the output «Elements is: - > 100 Hi...» Elements is: - > 200 ".» My question is: when dealing with 200 members by using the equals() method it is true how?

    Because the default equals() methods check reference everything 'ob' and 'intOB1' has a different reference. Then how he evaluates to true in the case of the if() function tests.

    Thanks in advance...

    793463 wrote:
    Here the equals() method called Type a, no Type of B.

    Once again: why?

    Both the static type of ob1 and the type of the object referenced by this is A. Why should he call a method other than A.equals ()?

  • Code error: invalid line number 1 for class RowSet method GetRow PCPC:67

    People,

    Hello. I am writing PeopleCode to manipulate data in the scroll bar on level 1. My component has 4 pages and its Structure is as follows:

    Scroll - Level0
    JournalHeader
    JournalLine
    JournalTotal
    JournalError

    Scroll - Level1 primary JournalLine1 Record

    While JournalLine1 is inside the JournalLine page and its fields are 'Account' and 'amount '. The page 'JournalTotal' field is 'amount '. My job is to add up all the numbers in the field "Amount" of "JournalLine1" and assign the total amount for the field 'Amount' of the page 'JournalTotal '. My PeopleCode is as follows:


    All local & RS lines;
    Local Row row & total;
    Local Record & rec;
    Local Field & field;

    & RS = GetLevel0() (2). GetRowSet (Scroll.JournalLine1); / * JournalLine is on the 2nd level 0 * /.
    & line = & RS. GetRow (1); / * What a "JournalLine1" line on level 1 * /.

    For & I = 1 to & row. RecordCount
    & rec = & rank. GetRecord (& I);
    & field. Value = & on the ground. Value + & rec. GetField (Field.Amount). Value;
    -End;

    & total = GetLevel0() (3); / * JournalTotal is on the 3rd at level 0 * /.

    and total. GetRecord (Record.JournalTotal). GetField (Field.TotalAmount). Value = & on the ground. Value;



    The PeopleCode above is compiled. But when I run the component in the browser, I got this error:

    "Invalid line number 1 for the class method GetRow PCPC:67 RowSet. Component.GBL.JournalLine1.Amount.FieldChange. A PeopleCode program called an object method with an invalid value for the line number parameter. The line number must be in the range of lines present in all lines. »

    I think this error is called "& rank = & RS. GetRow (1); "Because there is only one line"JournalLine1"in level 1, it seems correct to use GetRow (1). I also tried ' GetRow (0) ' and ' GetRow (2) ", but got the same error.

    Why do '& rank = & RS. GetRow (1); "get such a mistake? People can help solve the problem?


    Thanks in advance.

    Try to make it simple;
    & total = 0;
    & RS_LEVEL0 = GetLevel0();
    & Row_LEVEL0 = & RS. GetRow (1);
    & RS_LEVEL1 = & Row .getrowset (Scroll.JournalLine1);
    For & I = 1 to & RS_LEVEL1. Activerowcount;
    & Row_LEVEL1 = & RS_LEVEL1. GetRow (&I);)
    & Record_LEVEL1 = & Row_LEVEL1. GetRecord (Record.JournalLine1);
    & Field_LEVEL1 = & Record_LEVEL1. GetField (Field.Amount);
    & Amount = & Field_LEVEL1. Value;
    & Total = Total & + &Amount;
    -end;

    Your_Level_0_Record_Name.LEVEL_0_TOTAL_FIELD_NAME. Value = &Total;

    I hope this will work!

    Do not no matter what declearation will be declared automaytically.

    Thank you
    Amit

  • Method used by Windows Media Player error correction

    Hello.

    Could someone tell me - in technical terms - that the option "use error correction" in Windows Media Player makes when copying audio CD tracks?

    I would like to make possible more precise PMR using WMP, but the lack of information about the method used by WMP special error correction makes it difficult know when or even if you need to select the option.

    For example, I wonder if the use of error correction could result in a less accurate RIP (for example, if the method used favors estimate on rereads multiples of a CD damaged surface.) Also, for example, assuming that the error correction is always beneficial, I wonder if it is always worth the burden of extra time (for example, tearing a new CD with no surface damage.)

    I am aware that the audio CD support a system of "forward error correction", that is to correct errors code being inserted in the music of the data from the drive. What is the allusion makes WMP error correction? (If Yes, then why don't I have hear occasional noise and click in the .wma file generated when "use error correction" is unchecked?)

    A technical response would be highly appreciated. Thank you.

    Ant

    Hello

    Error correction looking for points on the CD where it is unable to read and will attempt to read them again.

    It will not lead to inaccurate burns.

  • response of psr tmadmin: failed to get a temporary file for writing

    Hello

    I have a problem with my local Tuxedo instalation. My servers and services works fine but when I try to list them using psr (printserver) or printclient tmadmin response: pg: failed to get a temporary file for writing. Can you tell me where can I find the possible cause?

    Thank you,.

    main problem was no space in /var. thank you for your help.

  • I downloaded the latest version of the DNG Converter Camera Raw version 9.1.1 for windows. However, I get error install the update saying "error opening file for writing. Also on my help menu updates is not active?

    I downloaded the latest version of the DNG Converter Camera Raw version 9.1.1 for windows. However, I get error install the update saying "error opening file for writing. Also on my help menu updates is not active?

    If the installation program itself fails to open and run. Download it again maybe your current download is corrupted. Also, what OS you are using and you are an administrator with permission to install.

  • What hearing method uses to determine the overal frequency?

    Hello

    No one knows which method uses Audition to determine the "global frequency" in the section "analysis of frequency? I need to know how is it calculated?

    Thank you very much!

    stephaniec9433324 wrote:

    Thank you for this! So am I right in thinking "global frequency" is that point which contains the largest amount of energy in a sound sample given frequency?

    I don't know why it's called "global" frequency - seems a little strange to me, although you could call it although it is a bit of a mouthful, I'm not sure. But, strictly speaking, what is the frequency of the amplitude higher at this moment on the screen. It isn't really a sign you measure; It's a single FFT 'slice', which raises even more questions, as the sector size determines the resolution and therefore the accuracy of the result in any case.

  • model search for not equal to.

    Hi all
    I want to replace the string except beginning with SK and following numbers, but I don't have the idea about how to shape the model of research for not equal to.
    with t as 
     ( select 'Hi i am SK123
    OK, I am SK456
    Where is your friend SK678
    And SK777 is not valid' str from dual)
    select TRIM(',' FROM REPLACE_REGEXP(REGEXP_replace(str,'SK[[:digit:]]*',','),',+')) from t ;
     required output:
     SK123,SK456,SK678,SK777
    can someone let me know model research for it.

    Thank you
    RAM

    Published by: rama ch on October 23, 2012 17:41

    ch Rama wrote:
    Amadou,
    I can't understand the meaning of "." * ? "model. Could you please explain to me.

    Which can be explained by a simple example

    SQL> with t as
      2  (
      3  select 'Test SK123 test SK456' str from dual)
      4  select str,regexp_replace (str,'.*?((SK[^ ]+)|$)','\1,') str1
      5  from t;
    
    STR                                                STR1
    -------------------------------------------------- --------------------------------------
    Test SK123 test SK456                              SK123,SK456,,
    
    .* means anything as you know.
    "?" is used for making the previous pattern(.*) non greedy.
    That means when you search for anything, dont consider the patterns which will follow "?".
    Here the following pattern is "((SK[^ ]+)|$)" - which means anything starting with SK,
    followed by non-space character or end of line
    
    So it will replace anything, which will not match to "((SK[^ ]+)|$)" .
    
  • Equals, method

    Hi all
    Consider this example,
    Class A {}
    Public Shared Sub main (String [] args) {}
    An a1 = new A();
    An a2 = new A();
    {if (a1. Equals (a2))}
    System.out.println ("Equal");
    } else {}
    System.out.println ("does not match");
    }
    }
    }
    I know that using the equals() method. but there is no equal method defined in the class a. also, I didn't use any library. can someone explain this?

    874474 wrote:
    I know that using the equals() method. but there is no equal method defined in the class A.

    Has, as all classes in Java, is a subclass of the object and therefore inherits all of the public methods of the object, including equals().

  • can someone please give me the code for this equalant?

    Hi friends

    Hi friends I need and equivalent of the code for the script because I shouldn't use below the script.even below if it entitles answer.please give alternative

    NVL2 (EndTime, 'Successful', 'Error') "Status".
    ===========================

    "" The real need is, if the "endtime" is null means I want the error if status is not null means I want status to succeed

    can someone please give me the code for this equalant?

    Thanks adavance

    Thil

    Select decode (endtime, null, "Error"
    'Successful') that the 'status' from tablename

  • Coloration of the code for the PHP files using CSS

    Coloration of the code for the PHP files using CSS

    The Situation:

    It is possible to mix PHP and CSS so that you create a PHP file and it is served to the user in a CSS file. It works just like writing a normal PHP file which is then processed and used in HTML. To do this, you create a PHP file and at the top of the file, you add the following line of code:

    <?php header("Content-type: text/css"); ?>

    This line tells the browser that the file is CSS instead of HTML. Fantastic.

    Here is a link to a more detailed article on the subject: http://www.barelyfitz.com/projects/csscolor/

    The problem:

    The problem is that when I create a PHP file in Dreamweaver code colors in the document like PHP for PHP and HTML to CSS code code because it still thinks the document is supposed to be a HTML document. Is there a way to change the style of this situation? I find that code coloring to normal CSS files is really useful and would like to be there instead of just black text.

    Other information:

    I already have this submitted a feature request to Adobe, but I never heard back. Does anyone know how to do this now?

    I would really like to see the code coloring to adapt to the content type of the file, when the file is PHP. So if no content type is specified, values by default in html format, but when it's CSS, code coloring so a coloration of the different code is used. It could also adapt to files JS, XML files, the works. But really, I just want to add the PHP/CSS code coloring.

    I'm certainly not an expert, and this is my first time looking at the file,

    but it looks like the section.

    "ID ="CSS"doctypes ="CSS"priority '50' = > ' see the style css and

    the and refer to where the design must

    be applied. If that is correct then the code you provided should style

    It all starts after the

    and ending with another php code? It should be then that a

    tag additional php to be present in the document of 'close' the

    blowdry.

    And the continuation of this line of thinking, I have just that in the (php-> css)

    file. I placed my code. Then

    After the CSS, I placed another block of php: and it works!

    The CSS is styling just like should the CSS.

    Logically, you need that, and it seems to work ok for me without it. If Yes, you can change "" to be more explicit and less impact for PHP parsing, such as ' /DW/ '.

    Haha, Unfortunantely, PHP is more the same color scheme. He

    went from normal red blends what the html code looks like

    scheme (blue with quotations from green text). Fortunantely this configuration is far

    more convenient than the previous color coding!

    All subsequent PHP Directives are coloring properly for me - it's just the first one that triggers the coloration (e.g. ) is not. What do you see?

    If, therefore, in the XML file you added in CodeColoring.xml, you can change:

    scheme = "outerTag.

    is similar to the colouring of the PHP Directive:

    scheme = "customText" id = "CodeColor_PHPScriptBlock".

    This causes the entire PHP directive is red color - not optimal, but a little better.

    HTH,

    Randy

  • How to get assistance from mozilla to answer questions for windows when I use a macintosh computer

    How to get assistance from mozilla to answer questions for windows when I use a macintosh computer?

    Look on the right side of the knowlegde base articles, where it is said ' help to ". Here, you can change the operating system and the version of firefox. The content of the article will adjust.

    If you ask a question on the help forum, you can simply say this in your question.

Maybe you are looking for

  • F380: size of cartridge

    I have a scanner printer F380, I love it and it works well.  Someone gave me a different size cartridge and I want to use it, but it is not listed.  My printer takes size 21 and 22.  They gave me size 56 and 57.  Can I use them?

  • Product key issue.

    I had Windows with my laptop. I have the product key on the back. My laptop is broken, so I no longer use Windows on it. Can I use the license on another PC?

  • arrow keys with Games__

    Hello I'm having a problem with the games, not online games.for example in a racing game, I can't just hold the UP arrow button as the car stops after a few seconds, I need to press the key several times.So basically, I have to press the key several

  • Windows Media Player error when you try to play a CD: C00D1197

    I played the CD/DVD on my laptop (windows vista) with no problems.  I popped in a DVD and it plays very well.  When I jumped into a music CD, (the one I've played a dozen times) I "Error Message C00D1197."  When I went to my computer and clicked on t

  • Keys on laptop HP to turn in the keys of symbol

    Original title: my numberkeys turn in the symbol keys and portable goes wacky, help! Two years my laptop HP with Windows 7 has had a small problem when all of a sudden the number keys will lock in mode symbol and if you are going to choose something,